Jump to content

WM SYSCOMMAND

From EDM2
Revision as of 18:38, 19 May 2024 by Martini (talk | contribs) (Created page with "This message occurs when a control window has a significant event to notify to its owner, or when a key stroke has been translated by an accelerator table into a WM_SYSCOMMAND...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This message occurs when a control window has a significant event to notify to its owner, or when a key stroke has been translated by an accelerator table into a WM_SYSCOMMAND.

Syntax

param1
     USHORT  uscmd       /*  Command value. */

param2
     USHORT  ussource    /*  Source type. */
     BOOL    fpointer    /*  Pointing-device indicator. */

Parameters

uscmd (USHORT)
Command value.
The frame control takes the action described on these uscmd values:
SC_SIZE
Sends a WM_TRACKFRAME (in Frame Controls) to the frame window.
SC_MOVE
Sends a WM_TRACKFRAME (in Frame Controls) to the frame window.
SC_MINIMIZE
If a control with the identifier FID_MINMAX is present, minimizes the frame window; otherwise nothing is done.
SC_MAXIMIZE
If a control with the identifier FID_MINMAX is present, maximizes the frame window; otherwise nothing is done.
When a window is moved or sized in the normal way at least one border should remain on the screen. When a window is maximized and the maximum size is as large as the screen, all borders should be positioned just outside the screen.
SC_RESTORE
If a control with the identifier FID_MINMAX is present, restores a maximized or minimized frame window to its previous size and position; otherwise nothing is done.
SC_NEXT
Cycles the active window status to the next main window.
SC_APPMENU
Sends a MM_STARTMENUMODE message to the control with the identifier FID_MENU.
SC_SYSMENU
Sends a MM_STARTMENUMODE message to the control with the identifier FID_SYSMENU.
SC_CLOSE
If Close is not enabled in the system menu, this message is ignored. Otherwise the frame posts a WM_CLOSE message to the client if it exists or to itself, if not.
SC_NEXTFRAME
The next frame window that is a child of the desktop window is activated.
SC_NEXTWINDOW
The next window with the same owner window is activated.
SC_TASKMANAGER
The Task List is activated.
SC_HELPEXTENDED
The frame manager sends HM_EXT_HELP to the associated Help Manager Object Window. If there is no such associated window, the original message is sent to the client.
SC_HELPKEYS
The frame manager sends HM_KEYS_HELP to the associated Help Manager Object Window. If there is no such associated window, the original message is sent to the client.
SC_HELPINDEX
The frame manager sends HM_HELP_INDEX to the associated Help Manager Object Window. If there is no such associated window, the original message is sent to the client.
SC_HIDE
Sets the visibility state of the frame window to off causing it to appear hidden or invisible.
ussource (USHORT)
Source type.
Identifies the type of control:
CMDSRC_PUSHBUTTON
Posted by a push-button control: uscmd is the window identifier of the push button.
CMDSRC_MENU
Posted by a menu control: uscmd is the identifier of the menu item.
CMDSRC_ACCELERATOR
Posted as the result of an accelerator: uscmd is the accelerator command value.
CMDSRC_OTHER
Other source: uscmd gives further control-specific information defined for each control type.
fpointer (BOOL)
Pointing-device indicator.
TRUE
The message is posted as a result of a pointing-device operation.
FALSE
The message is posted as a result of a keyboard operation.


Returns

ulReserved (ULONG)
Reserved value, should be 0.

Remarks

This message is posted to the window procedure of the owner of the frame control. ulReserved is set to 0.

Default Processing

The default window procedure takes no action on this message, other than to set ulReserved to 0.