Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Получение объекта по HWND
|
|||
|---|---|---|---|
|
#18+
Очень нужно в дополнительном потоке отобразить окно прогресса с кнопкой "Отмена". Само окно без проблем рисуется на WinApi. Вопрос - как мне из оконной функции добраться до конкретного объекта, который реализует работу с этим окном? Сейчас у меня есть два варианта: либо повторить реализацию MakeObjectInstance (стандартный использовать нельзя, т.к. он оперирует глобальными переменными) и обрабатывать сообщения уже самим объектом, либо помещать указатель на объект через SetWindowLongPtr(Handle, GWLP_USERDATA, Self). Первый способ правильнее, второй проще. Может еще есть варианты? Фактически нужно только особым способом обрабатывать WM_CLICK по кнопке. Со всем остальным отлично справляется cстандартная DefWindowProc() С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2021, 12:52 |
|
||
|
Получение объекта по HWND
|
|||
|---|---|---|---|
|
#18+
Раз ты отображаешь окно в дополнительном потоке, значит в этом потоке есть цикл обработки сообщений. Выкинь оконную процедуру вообще, обрабатывай сообщение непосредственно в цикле. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2021, 13:00 |
|
||
|
Получение объекта по HWND
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov обрабатывай сообщение непосредственно в цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2021, 15:26 |
|
||
|
Получение объекта по HWND
|
|||
|---|---|---|---|
|
#18+
В итоге остановился на таком варианте: 1. При регистрации класса окна оказываем Код: pascal 1. 2. В CreateWindowEx последним параметром передаем Self 3. Оконную функцию пишем так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 12:30 |
|
||
|
Получение объекта по HWND
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, ыыы... это весенне - летнее обострение... я на днях тоже такое делал https://www.sql.ru/forum/1336558/kak-iz-nestaticheskogo-metoda-obekta-sdelat-staticheskiy-ili-analog-allocatehwnd :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2021, 12:55 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40082974&tid=2037191]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 163ms |

| 0 / 0 |
