.WHILE TRUE //безконечный цикл приёма сообщений INVOKE GetMessage, ADDR msg,NULL,0,0 //Получить сообщение в msg структуру .BREAK .IF (!eax)//прервать если сообщение не принято invoke IsDialogMessage, hDlg, ADDR msg//являеться ли сообщение диалогового окна .if eax==FALSE//если нет то ...хз что это значит INVOKE TranslateMessage, ADDR msg//ну чтото из этого вроди клавиатурные нажатия в чары переводит INVOKE DispatchMessage, ADDR msg .endif .ENDW Вопросы: 1: Если мы используем диалоговое окно как основное,отпадает ли надобность в этих строках invoke IsDialogMessage, hDlg, ADDR msg//являеться ли сообщение диалогового окна .if eax==FALSE//если нет то ...хз что это значит INVOKE TranslateMessage, ADDR msg//ну чтото из этого вроди клавиатурные нажатия в чары переводит INVOKE DispatchMessage, ADDR msg .endif 2: Ктонибудь может словами понятными для селюка обьяснить, что толком делают эти строки INVOKE TranslateMessage, ADDR msg//ну чтото из этого вроди клавиатурные нажатия в чары переводит INVOKE DispatchMessage, ADDR msg//Оссобенно не ясно это!!!! Заранее благодарен....
devillsd Код (Text): INVOKE DispatchMessage, ADDR msg Направляет очередное сообщение в твою процедуру окна. TranslateMessage в этом случае конвертирует один тип сообщения в другой, но это можно почитать в Platform SDK. Нужен цикл или не нужен зависит от того как ты создал диалоговое окно - вызовом CreateDialogParam (цикл нужен), вызовом DialogBoxParam (цикл не нужен, т.к. параметром указываешь WndProc).
Зачем тогда проверка меседжа(от диалогового окна или нет)?? Я говорю за случай с CreateDialogParam... И попутный вопрос, почему для WndProc DlgProc и тд не нужны прототипы??? И как DispatchMessage определяет определяет процедуру окна в которую нужно перенаправить сообщения? ВНИМАНИЕ ЕЩЁ РАЗ ДИАЛОГОВОЕ ОКНО-КАК ОСНОВНОЕ ФУНКЦИЯ ОКНА И ЕСТЬ ФУНКЦИЯ ДИАЛОГА.....
О чем это вы ?? Толковые ответы сами ждут вас у Iczelion-а (прямо здесь, на васме), а еще более толковые у Петцольда (Petzold "Programming Windows"- Dialog Boxes).
keroА вот это как раз не толковый ответ, исцезилион не учит оптимизации он даёт бешинерам начальные знания, я эту статью перечитал не раз!!! И находил на этом форуме много заметок к ицзелиону!Те ответы которые там есть исчерпаны,ну я не поленюсь прочитать ещё раз=) Petzold "Programming Windows"- Dialog Boxes где это взять...ушол на поиски...
devillsd, ещё можно поискать на http://blogs.msdn.com/oldnewthing/ записи из серии "The dialog manager".