PMGuide - Message Processing
Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation
Messages are processed by window and dialog procedures.
Every window has a window procedure. Windows can also be combined into standard windows or dialog boxes. These are special cases of groups of windows that also have their own procedures. A window or dialog procedure must be capable of processing any message. This can be achieved by delegating some message types to the default window, or dialog, procedures by use of the WinDefWindowProc and WinDefDlgProc functions respectively.
Control windows are a special type of child windows. They take the form of objects such as buttons, scroll bars, list boxes, and text entry fields. These child windows process mouse and keyboard input and notify its owner of significant input events. Procedures for these child window controls are inside the Presentation Manager and are often called system-provided window procedures.
All messages have the same form as QMSG. structure.
- Message Types
There are two types of window procedure message processing:
- Default window and dialog procedure message processing
- Control window message processing.
These types are described in Default Window and Dialog Procedure Message Processing and Control Window Message Processing. The messages are described in the message groups found on the Contents.
Default Window and Dialog Procedure Message Processing
These window procedures provide default processing for application window procedures:
- Default window and dialog procedure
- Language support window and dialog procedures, which are used if the application specifies a null window procedure
- Default AVIO window procedure.
These messages are described in Default Window Procedure Message Processing. The system-provided window procedures take no action on messages that are not defined in this chapter, and return NULL.
Control Window Message Processing
Controls are predefined classes of child windows that any application can use for input and output. These control classes are predefined:
- WC_BUTTON
Consists of buttons and boxes that the operator can select by clicking the pointing device or using the keyboard. These messages are described in Button Control Window Processing. WC_CIRCULARSLIDER
Consists of a visual component whose specific purpose is to allow a user to set, display, or modify a value by moving the slider arm around the circular slider dial. Messages are described in Circular Slider Control Window Messages.
- WC_COMBOBOX
Consists of an entry field control and a list box control merged into a single control. The list, which is usually limited in size, is displayed below the entry field and offset one dialog box unit to its right. These messages are described in Combination-Box Control Window Processing.
- WC_CONTAINER
Consists of a visual component whose specific purpose is to hold objects such as executable programs, word processing files, graphics images, and database records. Messages are described in Container Control Window Processing.
- WC_ENTRYFIELD
Consists of a single line of text that the operator can edit. These messages are described in Entry Field Control Window Processing.
- WC_FRAME
Consists of a composite window. These messages are described in Frame Control Window Processing.
- WC_LISTBOX
Presents a list of text items from which the operator can make selections. These messages are described in List Box Control Window Processing.
- WC_MENU
Presents a list of items, which may be text displayed horizontally as action bars or vertically as pull-down menus. Menus are usually used to provide a command interface to applications. These messages are described in Menu Control Window Processing.
- WC_MLE
Consists of a rectangular window that displays multiple lines of text that the operator can edit. When it has the focus, the cursor marks the current insertion or replacement point. These messages are described in Multi-Line Entry Field Control Window Processing.
- WC_NOTEBOOK
Consists of a visual component whose specific purpose is to organize information on individual pages so that a user can find and display that information quickly and easily. Messages are described in Notebook Control Window Processing.
- WC_SCROLLBAR
Consists of window scroll bars that allow the operator to make a request to scroll the contents of an associated window. These messages are described in Scroll Bar Control Window Processing.
- WC_SLIDER
Consists of a visual component whose specific purpose is to allow a user to set, display, or modify a value by moving the slider arm along the slider shaft. Messages are described in Slider Control Window Processing. WC_SPINBUTTON
Presents a scrollable ring of choices from which the operator can select. These messages are described in Spin Button Control Window Processing.
- WC_STATIC
Consists of simple display items that do not respond to keyboard or pointing device events. These messages are described in Static Control Window Processing.
- WC_TITLEBAR
Displays the window title or caption and allows the operator to move its owner. These messages are described in Title Bar Control Window Processing.
- WC_VALUESET
Consists of a visual component whose specific purpose is to allow a user to select one choice from a group of mutually exclusive choices. A value set can use graphical images (bit maps or icons), as well as colors, text, and numbers, to represent the items that a user can select. Messages are described in Value Set Control Window Processing.
- Owner-Notification Messages
Controls are useful because they notify their owners when significant events take place. A control notifies its owner by sending a WM_CONTROL message or by posting a WM_COMMAND or WM_HELP message.
- WM_CONTROL
- WM_COMMAND
Param2 contains information that indicates the source of the WM_COMMAND message:
- CMDSRC_PUSHBUTTON
- Posted by a pushbutton control
- CMDSRC_MENU
- Posted by a menu control
- CMDSRC_ACCELERATOR
- Posted by WinTranslateAccel
- CMDSRC_FONTDLG
- Posted by a font dialog.
- CMDSRC_OTHER
- Other source.
- WM_HELP
Param1 contains information that indicates the source of the WM_HELP message:
- CMDSRC_PUSHBUTTON
- Posted by a pushbutton control
- CMDSRC_MENU
- Posted by a menu control
- CMDSRC_ACCELERATOR
- Posted by WinTranslateAccel
- CMDSRC_OTHER
- Other source.
Notation Conventions
Each message description contains:
- Name
The message name; a 2-byte identity unique to a message.
Some message identity values are reserved for the use of the operating system, some are available for use by an application. See Reserved Messages under Default Window Procedure Message Processing.
For all messages, the first two or three characters of the name indicate the type of window that is related to the message; for example:
- LM
List box control
- SBM
Scroll bar control.
- Cause
The principal reason that caused the generation of the message.
- Parameters
Input and output parameters pertinent to the message.
There are always two parameters (param1 and param2) and one return value. Any or all of the parameters can be NULL.
- Remarks
An explanation of the relationship between the parameters in the context of the message and an indication of the expected processing of the message.
- Default
A definition of how the default window procedures (provided by the system) process the message.
Note: A message is not equivalent to a call of the same name.
Button Control Window Processing
This system-provided window procedure processes the actions on a button control (WC_BUTTON).
For information on button control data see BTNCDATA.
- Purpose
A button control is a small rectangular child window representing a button that the operator can "switch" on or off. Button controls can be used alone or in groups, and can either be labeled or appear without text. Button controls typically change appearance when the operator clicks a pointing device on them or pressing the space bar when the button has the keyboard focus.
Buttons can be disabled to prevent them from responding when the operator clicks on them. Disabled buttons are displayed using a different emphasis technique (for example, color or half-toning).
Button Control Styles
These button control styles are available:
- BS_AUTOCHECKBOX
An automatic check box automatically toggles its state whenever the user clicks on it.
- BS_AUTORADIOBUTTON
When clicked, an automatic radio button automatically checks itself and unchecks all other radio buttons in the same group.
- BS_AUTOSIZE
Buttons with this style are sized automatically to make sure the contents fit.
If BS_AUTOSIZE is selected when the button is created, and a -1 is specified for either the parameter of WinCreateWindow, (or when creating the button as a resource) then the button's optimal size is calculated to display the its contents.
- BS_AUTO3STATE
An automatic three-state check box automatically toggles its state when the user clicks on it.
- BS_BITMAP
Places a bit map instead of text on the push button control. This style works only with the BS_PUSHBUTTON.
- BS_CHECKBOX
- A check box is a small square with a character string to the right. If it is checked, a small black box appears inside the small square. When the box or string is clicked, by clicking on it with the pointing device or pressing the keyboard spacebar when it is active,
- BS_DEFAULT
A BS_DEFAULT pushbutton is one with a thick border box. It has the same properties as a pushbutton. In addition, the user may press a BS_DEFAULT pushbutton by pressing the RETURN or ENTER key. The intention is the same for user-buttons, but the appearance of a BS_DEFAULT userbutton is application defined.
This style can be ORed with the BS_PUSHBUTTON and BS_USERBUTTON styles:
- BS_HELP
The button posts a WM_HELP message rather than a WM_COMMAND message.
This style can be ORed with the BS_PUSHBUTTON style.
If both BS_HELP and BS_SYSCOMMAND are set, BS_HELP takes precedence.
- BS_ICON
Places an icon instead of text on the push button control. This style works only with the BS_PUSHBUTTON style.
- BS_MINIICON
This enables miniicons (half the size of normal icons) to be placed on the push button control.
- BS_NOBORDER
The pushbutton is displayed without a border drawn around it. There is no other change in the pushbutton's operation.
This style can be ORed with the BS_PUSHBUTTON style.
- BS_NOCURSORSELECT
The radio button does not select itself when given the focus as the result of an arrow key or tab key.
This style can be ORed with the BS_AUTORADIOBUTTON style.
- BS_NOPOINTERFOCUS
Buttons with this style do not set the focus to themselves when clicked with the pointing device. This enables the cursor to stay on a control for which information is required, rather than moving to the button. This style has no effect on keyboard interaction. The tab key can still be used as usual to move the focus to the button.
This style can be ORed with any of the basic button styles.
- BS_NOTEBOOKBUTTON
A notebook button is identical to a pushbutton except that when it is created as a child of a notebook page it becomes a button in the common button area of the notebook page. If the button is not in a notebook page it will be indistinguishable from a pushbutton.
- BS_PUSHBUTTON
A pushbutton is a box that contains a string. When a button is pushed, by clicking the pointing device on it or pressing the spacebar when it is active, the parent window is notified. BS_RADIOBUTTON
A radio button is similar to a check box, but is typically used in groups in which only one button at a time is checked. When a radio button is clicked or a cursor key is pressed to move within the group, it notifies its owner window. It is then up to the owner window to check the clicked radio button and uncheck all the rest, if necessary.
- BS_SYSCOMMAND
The button posts a WM_SYSCOMMAND message rather than a WM_COMMAND message.
This style can be ORed with the BS_PUSHBUTTON style.
If both BS_HELP and BS_SYSCOMMAND are set, BS_HELP takes
- BS_TEXT
This enables both text and a bitmap, icon, or miniicon to be placed on the push button control. This style works only with the BS_PUSHBUTTON style, and should be used in conjunction with BS_BITMAP, BS_ICON or BS_MINIICON.
- BS_USERBUTTON
This is an application-definable button. The owner window of this style control receives the additional button style BN_PAINT.
- BS_3STATE
A three-state check box is identical to a check box control except that its check box can be half-toned as well as the box being checked or unchecked.
When BS_ICON, BS_MINIICON or BS_BITMAP is selected, the image can be activated by specifying the image ID with the button text string. For instance, to load an icon (#define ICON_ID 300), and display it within a button, the button string is set to "#300."
When BS_ICON, BS_MINIICON or BS_BITMAP is selected along with BS_TEXT, the image can still be activated by specifying the following with a zero-terminated text string. format:
"#<image-id>\t<text>"
where:
<image-id> resource id of the icon, miniicon or bitmap \t tab character <text> zero-terminated button text string
For example, to load an icon (#define ICON_ID 300) and display it with the button text "My Button," the button string is set to "#300\tMy Button." Notice the "\t" is used to separate the text from the image-id. The image is displayed above the text within the button.
Default Colors
The following system colors are used when the system draws button controls:
SYSCLR_BUTTONDEFAULT SYSCLR_BUTTONLIGHT SYSCLR_BUTTONMIDDLE SYSCLR_MENUTEXT SYSCLR_WINDOW SYSCLR_WINDOWFRAME.
Some of these defaults can be replaced by using the following presentation parameters in the application resource script file or source code:
PP_BACKGROUNDCOLOR PP_BORDERCOLOR PP_DISABLEDFOREGROUNDCOLOR PP_FOREGROUNDCOLOR PP_HILITEFOREGROUNDCOLOR.
Button Control Notification Messages
These messages are initiated by the button control window to notify its owner of significant events.
- WM_COMMAND (in Button Controls)
- WM_CONTROL (in Button Controls)
- WM_HELP (in Button Controls)
- WM_SYSCOMMAND
Button Control Window Messages
- BM_AUTOSIZE
- BM_CLICK
- BM_QUERYCHECK
- BM_QUERYCHECKINDEX
- BM_QUERYHILITE
- BM_SETCHECK
- BM_SETDEFAULT
- BM_SETHILITE
- WM_ENABLE (in Button Controls)
- WM_MATCHMNEMONIC (in Button Controls)
- WM_QUERYCONVERTPOS (in Button Controls)
- WM_QUERYWINDOWPARAMS (in Button Controls)
- WM_SETWINDOWPARAMS (in Button Controls)
Circular Slider Control Window Messages
The system-provided window procedure processes the actions on a circular control (WC_CIRCULARSLIDER).
Purpose
The circular slider control supports values set in analog rather than digital form. This control is intended to emulate the actual controls of stereo and video components.
The circular slider can be used instead of a linear slider. While, at present, there are no particular guidelines as to when a circular slider should replace a linear slider, the circular slider consumes less space on the screen and, therefore, is practical to represent several controls in the same window. For example, for an audio attributes dialog that has volume, balance, bass, and treble controls, you might want to use a linear slider for the volume control (since it is used frequently); but to conserve space and give a more familiar appearance, the circular slider could be used for the balance, bass, and treble.
Circular Slider Control Styles
These circular slider control styles are available:
- CSS_CIRCULARVALUE
Draws a circular thumb, rather than a line, for the value indicator.
- CSS_MIDPOINT
Makes the mid-point tick mark larger.
- CSS_NOBUTTON
Does not display value buttons.
- CSS_NONUMBER
Does not display the value on the dial.
- CSS_NOTEXT
Does not display title text under the dial.
- CSS_POINTSELECT
Permits the values on the circular slider to change immediately when dragged.
Direct manipulation is performed by using a mouse to click on and drag the circular slider. There are two modes of direct manipulation for the circular slider.
The default direct manipulation mode is to scroll to the value indicated by the position of the mouse. This could be important if you used a circular slider for a volume control, for example. Increasing the volume from 0% to 100% too quickly could result in damage to both the user's ears and the equipment.
The other mode of direct manipulation permits the value on the circular slider to change immediately when dragged. This mode is enabled using the CSS_POINTSELECT style bit. When this style is used, the value of the dial can be changed by tracking the value with the mouse, which changes values quickly.
- CSS_PROPORTIONALTICKS
Allow the length of the tick marks to be calculated as a percentage of the radius.
- CSS_360
Permits the scroll range to extend 360 degrees.
CSS_360 forces the CSS_NONUMBER style on. This is necessary to keep the value indicator from corrupting the number value.
Circular Slider Control Data
See CSBITMAPDATA.
Default Colors
The following system colors are used when the system draws circular slider controls:
SYSCLR_BACKGROUNDCOLOR SYSCLR_FOREGROUNDCOLOR
Some of these defaults can be replaced by using the following presentation parameters in the application resource script file or source code:
PP_BACKGROUNDCOLOR PP_BORDERCOLOR
Circular Slider Control Notification Messages
These messages are initiated by the circular slider control window to notify its owner of significant events.
- WM_CONTROL (in Circular Slider Controls)
- WM_CONTROLPOINTER (in Circular Slider Controls)
Circular Slider Control Window Messages
This section describes the Circular Slider Control Window Procedure actions on receiving the following messages.
- CSM_QUERYINCREMENT
- CSM_QUERYRADIUS
- CSM_QUERYRANGE
- CSM_QUERYVALUE
- CSM_SETBITMAPDATA
- CSM_SETINCREMENT
- CSM_SETRANGE
- CSM_SETVALUE
- WM_CHAR (in Circular Slider Controls)
- WM_PRESPARAMCHANGED (in Circular Slider Controls)
- WM_QUERYWINDOWPARAMS (in Circular Slider Controls)
- WM_SETWINDOWPARAMS (in Circular Slider Controls)
Clipboard Message Processing
The clipboard is used by the end-user to transfer data between Presentation Manager* (PM*) applications using the following operations:
- Cut
- Remove from a window, leaving a gap in the source, and save for later use.
- Copy
- Copy from a window, leaving the source intact, and save for later use.
- Paste
Paste the cut or copied data into the window of an application (the target).
Clipboard Messages
This section contains the messages used by the Clipboard.
- WM_DESTROYCLIPBOARD
- WM_DRAWCLIPBOARD
- WM_HSCROLLCLIPBOARD
- WM_PAINTCLIPBOARD
- WM_RENDERALLFMTS
- WM_RENDERFMT
- WM_SIZECLIPBOARD
- WM_VSCROLLCLIPBOARD
Combination-Box Control Window Processing
Combination Box Control Styles
Default Colors
Combo Box Control Notification Messages
- WM_CONTROL (in Combination Boxes)
===Combo Box Control Window Messages
- CBM_HILITE
- CBM_ISLISTSHOWING
- CBM_SHOWLIST
Container Control Window Processing
Container Control Window Words
Container Control Styles and Selection Types
Container Control Data
Container Control Notification Messages
- WM_CONTROL (in Container Controls)
- WM_CONTROLPOINTER (in Container Controls)
- WM_DRAWITEM (in Container Controls)
Container Control Notification Codes
CN_BEGINEDIT CN_COLLAPSETREE CN_CONTEXTMENU CN_DRAGAFTER CN_DRAGLEAVE CN_DRAGOVER CN_DROP CN_DROPNOTIFY CN_DROPHELP CN_EMPHASIS CN_ENDEDIT CN_ENTER CN_EXPANDTREE CN_GRIDRESIZED CN_HELP CN_INITDRAG CN_KILLFOCUS CN_PICKUP CN_QUERYDELTA CN_REALLOCPSZ CN_SCROLL CN_SETFOCUS
Container Control Window Messages
This section describes the container control window procedure actions on receiving the following messages.
CM_ALLOCDETAILFIELDINFO CM_ALLOCRECORD CM_ARRANGE CM_CLOSEEDIT CM_COLLAPSETREE CM_ERASERECORD CM_EXPANDTREE CM_FILTER CM_FREEDETAILFIELDINFO CM_FREERECORD CM_HORZSCROLLSPLITWINDOW CM_INSERTDETAILFIELDINFO CM_INSERTRECORD CM_INSERTRECORDARRAY CM_INVALIDATEDETAILFIELDINFO CM_INVALIDATERECORD CM_MOVETREE CM_OPENEDIT CM_PAINTBACKGROUND CM_QUERYCNRINFO CM_QUERYDETAILFIELDINFO CM_QUERYDRAGIMAGE CM_QUERYGRIDINFO CM_QUERYRECORD CM_QUERYRECORDEMPHASIS CM_QUERYRECORDFROMRECT CM_QUERYRECORDINFO CM_QUERYRECORDRECT CM_QUERYVIEWPORTRECT CM_REMOVEDETAILFIELDINFO CM_REMOVERECORD CM_SCROLLWINDOW CM_SEARCHSTRING CM_SETCNRINFO CM_SETGRIDINFO CM_SETRECORDEMPHASIS CM_SETTEXTVISIBILITY CM_SNAPTOGRID CM_SORTRECORD WM_PICKUP WM_PRESPARAMCHANGED (in Container Controls)
Default Dialog Processing
Default Dialog Messages
- WM_CHAR (Default Dialogs)
- WM_CLOSE (Default Dialogs)
- WM_COMMAND (Default Dialogs)
- WM_INITDLG (Default Dialogs)
- WM_MATCHMNEMONIC (Default Dialogs)
- WM_QUERYDLGCODE
Default File Dialog Processing
File Dialog Messages
FDM_ERROR FDM_FILTER FDM_VALIDATE
Default Font Dialog Processing
Font Dialog Messages
WM_DRAWITEM (in Font Dialog) FNTM_FACENAMECHANGED FNTM_FILTERLIST FNTM_POINTSIZECHANGED FNTM_STYLECHANGED FNTM_UPDATEPREVIEW
Dynamic Data Exchange Messages
Dynamic Data Exchange Messages WM_DDE_ACK WM_DDE_ADVISE WM_DDE_DATA WM_DDE_EXECUTE WM_DDE_INITIATE WM_DDE_INITIATEACK WM_DDE_POKE WM_DDE_REQUEST WM_DDE_TERMINATE WM_DDE_UNADVISE
Entry Field Control Window Processing
Entry Field Control Styles Default Colors Entry Field Control Notification Messages WM_CONTROL (in Entry Fields) Entry Field Control Window Messages EM_CLEAR EM_COPY EM_CUT EM_PASTE EM_QUERYCHANGED EM_QUERYFIRSTCHAR EM_QUERYREADONLY EM_QUERYSEL EM_SETFIRSTCHAR EM_SETINSERTMODE EM_SETREADONLY EM_SETSEL EM_SETTEXTLIMIT WM_CHAR (in Entry Fields) WM_QUERYCONVERTPOS (in Entry Fields) WM_QUERYWINDOWPARAMS (in Entry Fields) WM_SETWINDOWPARAMS (in Entry Fields)
Frame Control Window Processing
Frame Creation Flags Frame Control Styles Default Colors Frame Control Notification Messages WM_MINMAXFRAME (in Frame Controls) Frame Control Window Messages WM_ACTIVATE (in Frame Controls) WM_ADJUSTFRAMEPOS WM_BUTTON1DBLCLK (in Frame Controls) WM_BUTTON2DBLCLK (in Frame Controls) WM_BUTTON1DOWN (in Frame Controls) WM_BUTTON2DOWN (in Frame Controls) WM_BUTTON1UP (in Frame Controls) WM_BUTTON2UP (in Frame Controls) WM_CALCFRAMERECT (in Frame Controls) WM_CHAR (in Frame Controls) WM_CLOSE (in Frame Controls) WM_COMMAND WM_DRAWITEM (in Frame Controls) WM_ERASEBACKGROUND WM_FLASHWINDOW WM_FOCUSCHANGE (in Frame Controls) WM_FORMATFRAME (in Frame Controls) WM_INITMENU (in Frame Controls) WM_MEASUREITEM (in Frame Controls) WM_MENUSELECT (in Frame Controls) WM_NEXTMENU (in Frame Controls) WM_OWNERPOSCHANGE WM_PAINT (in Frame Controls) WM_QUERYBORDERSIZE WM_QUERYCONVERTPOS (in Frame Controls) WM_QUERYFOCUSCHAIN WM_QUERYFRAMECTLCOUNT WM_QUERYFRAMEINFO WM_QUERYICON WM_QUERYWINDOWPARAMS (in Frame Controls) WM_SETBORDERSIZE WM_SETICON WM_SETWINDOWPARAMS (in Frame Controls) WM_SIZE (in Frame Controls) WM_SYSCOMMAND WM_TRACKFRAME (in Frame Controls) WM_TRANSLATEACCEL (in Frame Controls) WM_TRANSLATEMNEMONIC (in Frame Controls) WM_UPDATEFRAME (in Frame Controls)
Help Manager Message Processing
Help Manager messages HM_ACTIONBAR_COMMAND HM_CONTROL HM_CREATE_HELP_TABLE HM_DISMISS_WINDOW HM_DISPLAY_HELP HM_ERROR HM_EXT_HELP HM_EXT_HELP_UNDEFINED HM_GENERAL_HELP HM_GENERAL_HELP_UNDEFINED HM_HELP_CONTENTS HM_HELP_INDEX HM_HELPSUBITEM_NOT_FOUND HM_INFORM HM_INVALIDATE_DDF_DATA HM_KEYS_HELP HM_LOAD_HELP_TABLE HM_NOTIFY HM_QUERY HM_QUERY_DDF_DATA HM_QUERY_KEYS_HELP HM_REPLACE_HELP_FOR_HELP HM_REPLACE_USING_HELP HM_SET_ACTIVE_WINDOW HM_SET_COVERPAGE_SIZE HM_SET_HELP_LIBRARY_NAME HM_SET_HELP_WINDOW_TITLE HM_SET_OBJCOM_WINDOW HM_SET_SHOW_PANEL_ID HM_SET_USERDATA HM_TUTORIAL HM_UPDATE_OBJCOM_WINDOW_CHAIN
Language Support Dialog Processing
Language Support Dialog Messages WM_ACTIVATE (Language Support Dialog) WM_CONTROL (Language Support Dialog) WM_PAINT (Language Support Dialog) WM_PPAINT (Language Support Dialog) WM_SETFOCUS (Language Support Dialog) WM_SIZE (Language Support Dialog) WM_SYSCOLORCHANGE (Language Support Dialog)
Language Support Window Processing
Language Support Window Messages WM_ACTIVATE (Language Support Window) WM_CONTROL (Language Support Window) WM_PAINT (Langauge Support Window) WM_PPAINT (Language Support Window) WM_SETFOCUS (Language Support Window) WM_SIZE (Language Support Window) WM_SYSCOLORCHANGE (Language Support Window)
List Box Control Window Processing
Default Colors List Box Control Notification Messages WM_CONTROL (in List Boxes) WM_DRAWITEM (in List Boxes) WM_MEASUREITEM (in List Boxes) List Box Control Window Messages LM_DELETEALL LM_DELETEITEM LM_INSERTITEM LM_INSERTMULTITEMS LM_QUERYITEMCOUNT LM_QUERYITEMHANDLE LM_QUERYITEMTEXT LM_QUERYITEMTEXTLENGTH LM_QUERYSELECTION LM_QUERYTOPINDEX LM_SEARCHSTRING LM_SELECTITEM LM_SETITEMHANDLE LM_SETITEMHEIGHT LM_SETITEMTEXT LM_SETITEMWIDTH LM_SETTOPINDEX WM_CHAR (in List Boxes) WM_QUERYCONVERTPOS (in List Boxes) WM_QUERYWINDOWPARAMS (in List Boxes) WM_SETWINDOWPARAMS (in List Boxes)
Menu Control Window Processing
Menu Control Styles Menu Item Styles Menu Item Attributes Default Colors Menu Control Notification Messages WM_COMMAND (in Menu Controls) WM_DRAWITEM (in Menu Controls) WM_HELP (in Menu Controls) WM_INITMENU (in Menu Controls) WM_MEASUREITEM (in Menu Controls) WM_MENUEND (in Menu Controls) WM_MENUSELECT (in Menu Controls) WM_NEXTMENU (in Menu Controls) Menu Control Window Messages MM_DELETEITEM MM_ENDMENUMODE MM_INSERTITEM MM_ISITEMVALID MM_ITEMIDFROMPOSITION MM_ITEMPOSITIONFROMID MM_QUERYDEFAULTITEMID MM_QUERYITEM MM_QUERYITEMATTR MM_QUERYITEMCOUNT MM_QUERYITEMRECT MM_QUERYITEMTEXT MM_QUERYITEMTEXTLENGTH MM_QUERYSELITEMID MM_REMOVEITEM MM_SELECTITEM MM_SETDEFAULTITEMID MM_SETITEM MM_SETITEMATTR MM_SETITEMHANDLE MM_SETITEMTEXT MM_STARTMENUMODE WM_QUERYCONVERTPOS (in Menu Controls) WM_QUERYWINDOWPARAMS (in Menu Controls) WM_SETWINDOWPARAMS (in Menu Controls) WM_SYSCOMMAND
Multi-Line Entry Field Control Window Processing
Multi-Line Entry Field Control Styles
Multi-Line Entry Field Control Notification Messages
WM_CONTROL (in Multiline Entry Fields)
Multi-Line Entry Field Window Messages
MLM_CHARFROMLINE MLM_CLEAR MLM_COPY MLM_CUT MLM_DELETE MLM_DISABLEREFRESH MLM_ENABLEREFRESH MLM_EXPORT MLM_FORMAT MLM_IMPORT MLM_INSERT MLM_LINEFROMCHAR MLM_PASTE MLM_QUERYBACKCOLOR MLM_QUERYCHANGED MLM_QUERYFIRSTCHAR MLM_QUERYFONT MLM_QUERYFORMATLINELENGTH MLM_QUERYFORMATRECT MLM_QUERYFORMATTEXTLENGTH MLM_QUERYIMPORTEXPORT MLM_QUERYLINECOUNT MLM_QUERYLINELENGTH MLM_QUERYREADONLY MLM_QUERYSEL MLM_QUERYSELTEXT MLM_QUERYTABSTOP MLM_QUERYTEXTCOLOR MLM_QUERYTEXTLENGTH MLM_QUERYTEXTLIMIT MLM_QUERYUNDO MLM_QUERYWRAP MLM_RESETUNDO MLM_SEARCH MLM_SETBACKCOLOR MLM_SETCHANGED MLM_SETFIRSTCHAR MLM_SETFONT MLM_SETFORMATRECT MLM_SETIMPORTEXPORT MLM_SETREADONLY MLM_SETSEL MLM_SETTABSTOP MLM_SETTEXTCOLOR MLM_SETTEXTLIMIT MLM_SETWRAP MLM_UNDO WM_BUTTON1DBLCLK (in Multiline Entry Fields) WM_BUTTON1DOWN (in Multiline Entry Fields) WM_BUTTON1UP (in Multiline Entry Fields) WM_CHAR (in Multiline Entry Fields) WM_ENABLE (in Multiline Entry Fields) WM_MOUSEMOVE (in Mulitline Entry Fields) WM_QUERYWINDOWPARAMS (in Multiline Entry Fields) WM_SETWINDOWPARAMS (in Multiline Entry Fields)
Notebook Control Window Processing
Old Notebook Control Styles New Notebook Control Styles Notebook Control Data Notebook Control Notification Messages WM_CONTROL (in Notebook Controls) WM_CONTROLPOINTER (in Notebook Controls) WM_DRAWITEM (in Notebook Controls) Notebook Control Window Messages BKM_CALCPAGERECT BKM_DELETEPAGE BKM_INSERTPAGE BKM_INVALIDATETABS BKM_QUERYPAGECOUNT BKM_QUERYPAGEDATA BKM_QUERYPAGEID BKM_QUERYPAGEINFO BKM_QUERYPAGESTYLE BKM_QUERYPAGEWINDOWHWND BKM_QUERYSTATUSLINETEXT BKM_QUERYTABBITMAP BKM_QUERYTABTEXT BKM_SETDIMENSIONS BKM_SETNOTEBOOKBUTTONS BKM_SETNOTEBOOKCOLORS BKM_SETPAGEDATA BKM_SETPAGEINFO BKM_SETPAGEWINDOWHWND BKM_SETSTATUSLINETEXT BKM_SETTABBITMAP BKM_SETTABCOLOR BKM_SETTABTEXT BKM_TURNTOPAGE WM_CHAR (in Notebook Controls) WM_PRESPARAMCHANGED (in Notebook Controls) WM_SIZE (in Notebook Controls)
Scroll Bar Control Window Processing
Scroll Bar Control Styles
Default Colors
Scroll Bar System Values
Scroll Bar Control Notification Messages
WM_HSCROLL (in Horizontal Scroll Bars) WM_VSCROLL (in Vertical Scroll Bars)
Scroll Bar Control Window Messages
SBM_QUERYPOS SBM_QUERYRANGE SBM_SETPOS SBM_SETSCROLLBAR SBM_SETTHUMBSIZE WM_QUERYCONVERTPOS (in Scroll Bars) WM_QUERYWINDOWPARAMS (in Scroll Bars) WM_SETWINDOWPARAMS (in Scroll Bars)
Slider Control Window Processing
Slider Control Styles
Slider Control Data
Slider Control Notification Messages
WM_CONTROL (in Slider Controls) WM_CONTROLPOINTER (in Slider Controls) WM_DRAWITEM (in Slider Controls)
Slider Control Window Messages
SLM_ADDDETENT SLM_QUERYDETENTPOS SLM_QUERYSCALETEXT SLM_QUERYSLIDERINFO SLM_QUERYTICKPOS SLM_QUERYTICKSIZE SLM_REMOVEDETENT SLM_SETSCALETEXT SLM_SETSLIDERINFO SLM_SETTICKSIZE WM_CHAR (in Slider Controls) WM_PRESPARAMCHANGED (in Slider Controls) WM_QUERYWINDOWPARAMS (in Slider Controls) WM_SETWINDOWPARAMS (in Slider Controls)
Spin Button Control Window Processing
Spin Button Control Styles
Spin Button Control Data
Spin Button Control Notification Message
WM_CONTROL (in Spin Button Controls)
Spin Button Control Window Messages
SPBM_OVERRIDESETLIMITS SPBM_QUERYLIMITS SPBM_QUERYVALUE SPBM_SETARRAY SPBM_SETCURRENTVALUE SPBM_SETLIMITS SPBM_SETMASTER SPBM_SETTEXTLIMIT SPBM_SPINDOWN SPBM_SPINUP
Static Control Window Processing
Static Control Styles
Default Colors
Static Control Notification Messages
Static Control Window Messages
SM_QUERYHANDLE SM_SETHANDLE WM_MATCHMNEMONIC (in Static Controls) WM_QUERYCONVERTPOS (in Static Controls) WM_QUERYWINDOWPARAMS (in Static Controls) WM_SETWINDOWPARAMS (in Static Controls)
Title Bar Control Window Processing
Title Bar Control Notification Messages
WM_SYSCOMMAND (in Title Bar Controls) WM_TRACKFRAME (in Title Bar Controls
Title Bar Control Window Messages
TBM_QUERYHILITE TBM_SETHILITE WM_QUERYCONVERTPOS (in Title Bar Controls) WM_QUERYWINDOWPARAMS (in Title Bars) WM_SETWINDOWPARAMS (in Title Bar Controls)
Value Set Control Window Processing
Value Set Control Styles
Value Set Control Data
Value Set Control Notification Messages
WM_CONTROL (in Value Set Controls) WM_CONTROLPOINTER (in Value Set Controls) WM_DRAWITEM (in Value Set Controls)
Value Set Control Window Messages
VM_QUERYITEM VM_QUERYITEMATTR VM_QUERYMETRICS VM_QUERYSELECTEDITEM VM_SELECTITEM VM_SETITEM VM_SETITEMATTR VM_SETMETRICS WM_CHAR (in Value Set Controls) WM_PRESPARAMCHANGED (in Value Set Controls) WM_QUERYWINDOWPARAMS (in Value Set Controls) WM_SETWINDOWPARAMS (in Value Set Controls) WM_SIZE (in Value Set Controls)
Default Window Procedure Message Processing
Window Class Styles
Window Styles
General Window Messages
PL_ALTERED WM_ACTIVATE WM_APPTERMINATENOTIFY WM_ADJUSTWINDOWPOS WM_BEGINDRAG WM_BEGINSELECT WM_BUTTON1CLICK WM_BUTTON1DBLCLK WM_BUTTON1DOWN WM_BUTTON1MOTIONEND WM_BUTTON1MOTIONSTART WM_BUTTON1UP WM_BUTTON2CLICK WM_BUTTON2DBLCLK WM_BUTTON2DOWN WM_BUTTON2MOTIONEND WM_BUTTON2MOTIONSTART WM_BUTTON2UP WM_BUTTON3CLICK WM_BUTTON3DBLCLK WM_BUTTON3DOWN WM_BUTTON3MOTIONEND WM_BUTTON3MOTIONSTART WM_BUTTON3UP WM_CALCFRAMERECT WM_CALCVALIDRECTS WM_CHAR WM_CHORD WM_CLOSE WM_COMMAND WM_CONTEXTMENU WM_CONTROL WM_CONTROLPOINTER WM_CREATE WM_CTLCOLORCHANGE WM_DESTROY WM_DRAWITEM WM_ENABLE WM_ENDDRAG WM_ENDSELECT WM_ERROR WM_FOCUSCHANGE WM_FORMATFRAME WM_HELP WM_HITTEST WM_HSCROLL WM_INITDLG WM_INITMENU WM_JOURNALNOTIFY WM_MATCHMNEMONIC WM_MEASUREITEM WM_MENUEND WM_MENUSELECT WM_MINMAXFRAME WM_MOUSEMAP WM_MOUSEMOVE WM_MOVE WM_MSGBOXDISMISS WM_MSGBOXINIT WM_NEXTMENU WM_NULL WM_OPEN WM_PACTIVATE WM_PAINT WM_PCONTROL WM_PPAINT WM_PRESPARAMCHANGED WM_PSETFOCUS WM_PSIZE WM_PSYSCOLORCHANGE WM_QUERYACCELTABLE WM_QUERYCONVERTPOS WM_QUERYCTLTYPE WM_QUERYHELPINFO WM_QUERYTRACKINFO WM_QUERYWINDOWPARAMS WM_QUIT WM_REALIZEPALETTE WM_SAVEAPPLICATION WM_SEM1 WM_SEM2 WM_SEM3 WM_SEM4 WM_SETACCELTABLE WM_SETFOCUS WM_SETHELPINFO WM_SETSELECTION WM_SETWINDOWPARAMS WM_SHOW WM_SINGLESELECT WM_SIZE WM_SUBSTITUTESTRING WM_SYSCOLORCHANGE WM_SYSCOMMAND WM_SYSVALUECHANGED WM_TEXTEDIT WM_TIMER WM_TRACKFRAME WM_TRANSLATEACCEL WM_TRANSLATEMNEMONIC WM_UPDATEFRAME WM_VRNDISABLED WM_VRNENABLED WM_VSCROLL WM_WINDOWPOSCHANGED
.....