Оконная процедура - Большая Энциклопедия Нефти и Газа, статья, страница 3
Когда-то я был молод и красив, теперь - только красив. Законы Мерфи (еще...)

Оконная процедура

Cтраница 3


Разумеется, типичная Windows-программа не пойдет далеко, если не назначить оконную процедуру в поле IpfnWndProc. He важно, какой путь для этого вы изберете, важно лишь, чтобы это назначение было как-нибудь организовано. Прием, которым вы пользуетесь, совсем не так значителен, как сам результат.  [31]

В Закончив, программа FileBox тщательно убрала за собой, поместив старую оконную процедуру обратно туда, где она ее обнаружила.  [32]

В частности, вы могли заметить, что StyleChild имеет свою собственную оконную процедуру и свой собственный курсор. Вы увидите, что курсор меняет свой внешний вид со стрелки на 1-образный.  [33]

Третий шаг - беглый взгляд на то, как WINDOWSX обращается с оконной процедурой, обрабатывающей сообщения по умолчанию.  [34]

Если окно было создано текущим потоком, то функция для обработки извещения вызывает оконную процедуру и не завершается, пока оно не будет обработано. Если же окно было создано другим потоком, то послав извещение в оконную процедуру, функция завершает свою работу.  [35]

Точно так же, каг диалоговая панель или окно, катогый элемент управления имеет оконную процедуру, определяющую его поведение.  [36]

Этот процесс продолжается до тех пор, пока команда не будет выполнена или отправлена оконной процедуре, действующей по умолчанию.  [37]

Второй макрос называется FORWARD WM XXX и может быть использован для передачи сообщения обратно в оконную процедуру, действующую по умолчанию.  [38]

Нет нужды говорить, что миссия CallWindowProc заключается в том, чтобы передать сообщение в исходную оконную процедуру. Это становится возможным потому, что вы специально передаете адрес исходной процедуры в качестве первого параметра.  [39]

Программа FileBox обработала определенные сообщения, которые сочла нужными, и передала остальные непосредственно в старую оконную процедуру.  [40]

Если рассмотреть поставляемые исходные тексты, то видно, что это единственная функция ( не считая оконной процедуры по умолчанию), которая вызывается в оконной процедуре. Это означает, что именно она занимается поиском соответствующих обработчиков сообщений.  [41]

Поскольку все еще существует множество старых программ, важно показать вам, как следует обращаться с оконными процедурами, которые состоят из единственного длинного оператора switch. Решение получается в форме диалоговых процедур, которые являются для диалоговых панелей тем же. По различным причинам ( которые не стоит обсуждать именно сейчас) в этой книге вы не увидите, чтобы WINDOWSX.  [42]

Вы уже знаете, что SendMessage доставляет сообщение непосредственно конкретной WndProc, которой в данном случае является оконная процедура перечня.  [43]

Создание подклассов позволяет вам изменять поведение элементов управления, временно принимая на себя ответственность за них вместо оконной процедуры.  [44]

Последняя функция цикла - DispatchMessage - берет данные о сообщении из структуры msg и передает их в соответствующую оконную процедуру для обработки. После того как сообщение передано, снова вызывается функция GetMessage, чтобы взять из очереди следующее сообщение, если таковое имеется.  [45]



Страницы:      1    2    3    4