|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Writing the Frame Window Procedure
The window procedure for an MDI frame window is similar to that of a non-MDI application's main window. The difference is that a frame window procedure passes all messages it does not handle to the DefFrameProc function rather than to the DefWindowProc function. In addition, the frame window procedure must also pass some messages that it does handle, including those listed in the following table.
Message Response WM_COMMAND Activates the MDI child window that the user chooses. This message is sent when the user chooses an MDI child window from the Window menu of the MDI frame window. The window identifier accompanying this message identifies the MDI child window to be activated. WM_MENUCHAR Opens the window menu of the active MDI child window when the user presses the ALT+ - (minus) key combination. WM_SETFOCUS Passes the keyboard focus to the MDI client window, which in turn passes it to the active MDI child window. WM_SIZE Resizes the MDI client window to fit in the new frame window's client area. If the frame window procedure sizes the MDI client window to a different size, it should not pass the message to the DefWindowProc function.
The frame window procedure in Multipad is called MPFrameWndProc. The handling of other messages by MPFrameWndProc is similar to that of non-MDI applications. WM_COMMAND messages in Multipad are handled by the locally defined CommandHandler function. For command messages Multipad does not handle, CommandHandler calls the DefFrameProc function. If Multipad doesn't use DefFrameProc by default, the user can't activate a child window from the Window menu, because the WM_COMMAND message sent by choosing the window's menu item (command) would be lost.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Сочинение Фреймовой Процедуры Окна
Процедура окна для фреймового окна MDI подобная тому же самому не-прикладному основному окну MDI. Различие - то, что фреймовая процедура окна передает все сообщения, которые она не оперируется в функцию DefFrameProc а не в функцию DefWindowProc. Кроме того, фреймовая процедура окна должна также передать некоторые сообщения, которые она оперирует, включая те указанные на следующем столе.
Ответ Сообщения WM_COMMAND Активизирует окно ребенка MDI, что потребитель выбирает. Это сообщение послано когда пользователь выбирает окно ребенка MDI из меню Окна фреймового окна MDI. Идентификатор окна, сопровождающий это сообщение идентифицирует окно ребенка MDI, которое нужно активизироваться. WM_MENUCHAR Открывает меню окна активного окна ребенка MDI когда пользователь нажимает ALT+ - (минус) ключевая комбинация. WM_SETFOCUS Передает клавишный фокус в окно клиента MDI, какое в свою очередь передает это в активное окно ребенка MDI. WM_SIZE Меняет размеры окно клиента MDI, чтобы устанавливаться в новой области клиента фреймового окна. Если фреймовая процедура окна измеряет окно клиента MDI в другой размер, она не должна передавать сообщение в функцию DefWindowProc.
Фреймовая процедура окна в Multipad вызвана MPFrameWndProc. Обработка других сообщений MPFrameWndProc подобная тем же самым не-приложениям MDI. сообщения WM_COMMAND в Multipad прооперированы локально определенной функцией CommandHandler. Для командных сообщений Multipad не оперирует, CommandHandler вызывает функцию DefFrameProc. Если Multipad не использует DefFrameProc по умолчанию, пользователь не может активизировать окно ребенка из меню Окна, поскольку сообщение WM_COMMAND посланное выбором пункта меню окна (команды) должно быть потерено.
|
|
|
|
| |