· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› WM_INITDIALOG

Посл.отвђт Сообщенiе


Дата: Июл 6, 2004 22:57:19

Всем доброго времени.
Подскажите, пожалуйста, кто знает, может ли в таком куске кода быть проблема?
invoke CreateDialogParam,hInstance,IDD_DIALOG,NULL,addr WndProc,NULL
invoke ShowWindow,hWnd,SW_SHOWNORMAL
Насколько вероятно что система не успеет послать в WndProc сообщение WM_INITDIALOG, а ShowWindow уже будет вызвана с параметром hWnd, который как раз и получается в WndProc по событию WM_INITDIALOG, или такое в принципе невозможно?


Дата: Июл 7, 2004 00:25:39

cresta
MSDN:
The CreateDialogParam function uses the CreateWindowEx function to create the dialog box.CreateDialogParam then sends a WM_INITDIALOG message (and a WM_SETFONT message if the template specifies the DS_SETFONT or DS_SHELLFONT style) to the dialog box procedure. The function displays the dialog box if the template specifies the WS_VISIBLE style. Finally, CreateDialogParam returns the window handle of the dialog box.

Надеюсь все ясно.


Дата: Июл 7, 2004 01:08:07

А можно короче чем MSDN: если в ресурсе диалога есть WS_VISIBLE, то не нужен ShowWindow().


Дата: Июл 7, 2004 01:22:59

AsmGuru62
Вопрос был в другом, может ли ShowWindow быть вызван ранеше, чем WM_INITDIALOG, в MSDN ясно сказано что нет.


Дата: Июл 7, 2004 02:40:38

Ahh... I see...


Дата: Июл 7, 2004 12:10:14

jekyll
Да, всё ясно, спасибо.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.078