The following table lists all the messages specifically handled by the window procedure of the predefined frame-window class (WC_FRAME) and describes how the window procedure responds to each message.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³Message ³Description ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_ACTIVATE ³Sets the highlighted state of the title ³ ³ ³bar or border so that it matches the ³ ³ ³frame window's activation state. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_BUTTON1DOWN ³If the frame window is minimized, ³ ³ ³captures the mouse; otherwise, activates³ ³ ³the frame window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_BUTTON2DOWN ³Activates the frame window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_BUTTON3DOWN ³Activates the frame window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_BUTTON1UP ³Processes messages from minimized window³ ³ ³frames. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_BUTTON1DBLCLK ³If the frame window is minimized, posts ³ ³ ³a WM_SYSCOMMAND message to itself; ³ ³ ³otherwise, activates the frame window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_CALCVALIDRECTS ³If the frame window has no client window³ ³ ³or if the client window has the ³ ³ ³CS_SIZEREDRAW style, returns the ³ ³ ³CVR_REDRAW flag to invalidate the entire³ ³ ³window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_CLOSE ³If the frame window has a client window,³ ³ ³passes this message to the client; ³ ³ ³otherwise, returns the result of ³ ³ ³WinDefWindowProc. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_CREATE ³Creates the specified frame controls by ³ ³ ³calling WinCreateFrameControls. Also ³ ³ ³creates any accelerator tables, loads ³ ³ ³icons, and adds itself to the Window ³ ³ ³List. These actions depend on the ³ ³ ³frame-window styles and frame-control ³ ³ ³flags specified for the window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_DESTROY ³If the focus is held by a child window ³ ³ ³of the frame window, sets the focus to ³ ³ ³the frame window's parent window, ³ ³ ³destroys any owned windows or child ³ ³ ³windows, destroys any icons created by ³ ³ ³using the FS_ICON style, and destroys ³ ³ ³any accelerator tables created by using ³ ³ ³the FS_ACCELTABLE style. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_ENABLE ³Returns the result of WinDefWindowProc. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_ERASEBACKGROUND ³Returns TRUE, signaling that the window ³ ³ ³should erase the client-window area. The³ ³ ³frame window sends this message to ³ ³ ³itself during WM_PAINT processing. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_FORMATFRAME ³Calculates the sizes and positions of ³ ³ ³the frame controls and the client ³ ³ ³window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_HITTEST ³If the frame window is minimized and ³ ³ ³disabled, returns HT_ERROR; otherwise, ³ ³ ³returns TF_MOVE. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_MINMAXFRAME ³If the frame window has a client window,³ ³ ³passes this message to the client ³ ³ ³window; otherwise, passes this message ³ ³ ³to WinDefWindowProc. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_MOUSEMOVE ³Determines the correct mouse pointer to ³ ³ ³use and returns the result of ³ ³ ³WinDefWindowProc. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_PAINT ³If the frame window is minimized, sends ³ ³ ³WM_QUERYICON and WM_ERASEBACKGROUND to ³ ³ ³itself and draws the icon; otherwise, ³ ³ ³paints the control windows, sends a ³ ³ ³WM_ERASEBACKGROUND message to the client³ ³ ³window, and paints the client window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_QUERYTRACKINFO ³Starts track-move processing of the ³ ³ ³title-bar control window. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_SHOW ³Returns the result of WinDefWindowProc. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_SIZE ³Sends a WM_FORMATFRAME message to ³ ³ ³itself. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_SYSCOMMAND ³If the frame window has captured the ³ ³ ³mouse, ignores the system command; ³ ³ ³otherwise, uses one of the following ³ ³ ³commands: SC_APPMENU, SC_CLOSE, SC_MOVE,³ ³ ³SC_NEXT, SC_NEXTFRAME, SC_RESTORE, ³ ³ ³SC_SIZE, SC_SYSMENU, SC_TASKMANAGER. ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³WM_UPDATEFRAME ³Reformats and updates the appearance of ³ ³ ³the frame window. Sent after a frame ³ ³ ³control has been added to or removed ³ ³ ³from the frame window. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ