|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi | создание окна и его элементов средствами WinAPI |
|
Delphi - Delphi | создание окна и его элементов средствами WinAPI
|
![]() Старожил Сообщения: 300 |
Подскажите, в чем трабл...
........ handleWnd:=CreateWindow(myClassName, 'See a label below?', WS_OVERLAPPEDWINDOW,400,300,200,100,0,0,hInstance,nil); if handleWnd = 0 then begin // окно создается MessageBox(0,'Failed to create Window',nil,MB_OK); Exit; end; Label1:=CreateWindow('Label','See me?',WS_VISIBLE or WS_CHILD or WM_SETTEXT,10,10,60,23,handleWnd,0,hInstance,nil); if Label1 = 0 then begin // а текст нет :( MessageBox(0, 'Failed to create Label', nil, MB_OK); Exit; end; ........ |
|
Отправлено: 08:14, 17-01-2005 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать frizzn
О'кей, тогда переделаем нижнюю часть в такую конструкцию: WM_DESTROY ведь посылается когда окно еще живо, так? А из цикла программа не выходит все равно. Или я опять чего-то наврал?.. |
Отправлено: 08:32, 18-01-2005 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать ![]() http://ilyabirman.ru/meanwhile/2004/01/20/2/comments Вообще-то, емнип, обычно hWnd используют в связке с if (PeekMessage(&msg, hWnd, ... потому что hWnd - своего рода фильтр ![]() |
Отправлено: 09:47, 18-01-2005 | #12 |
![]() Старожил Сообщения: 300
|
Профиль | Сайт | Отправить PM | Цитировать hasherfrog
Цитата http://ilyabirman.ru/meanwhile/2004/01/20/2/comments:
Цитата hasherfrog:
ps: a lol вызвало "if Msg.message=WM_DESTROY then Break;"? Не волнуйтесь, у меня колбэк (callback) есть... |
||
Отправлено: 09:59, 18-01-2005 | #13 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Нет, лол вызвало "Прям точно что и у меня."
![]() |
Отправлено: 10:07, 18-01-2005 | #14 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Очень интересная тема, жаль что не поймал её сразу. Работает это так:
PostQuitMessage посылает сообщение PostMessage(0, 0, 0, exit_code), это значит, что до окна hwnd!=0 оно не дойдёт. После уничтожения окна, GetMessage(..., hwnd, ...) просто не вернётся, т.к. для окна hwnd сообщения никто не пошлёт. Советую не использовать такую конструкцию в главном цикле. |
Отправлено: 14:15, 18-01-2005 | #15 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Win32 API - Создание "сквозной" формы средствами WinAPI | garkin123 | Программирование и базы данных | 7 | 14-11-2009 23:41 | |
Delphi - WinApi||C++Builder(Delphi) SplashScreen в отдельном потоке? | XCodeR | Программирование и базы данных | 4 | 12-03-2007 19:51 | |
Delphi - *Флейм* | Delphi. Синтаксис. Использование WinAPI | DillerInc | Программирование и базы данных | 60 | 13-03-2006 21:36 | |
Delphi - Delphi, WinAPI | Корректное завершение программы | fossil | Программирование и базы данных | 6 | 10-08-2005 14:52 | |
Delphi - *Решено* | Использование WinAPI под Delphi | Savant | Программирование и базы данных | 2 | 14-01-2005 21:40 |
|