General Control Reference
This section contains reference information about programming elements that apply to multiple controls, not just to a specific control. There are functions, macros, messages, notifications, and structures that most controls support. For example, most controls use the NM_HOVER notifications to process mouse clicks.
Overviews
Topic | Contents |
---|---|
About Common Controls | The common controls are a set of windows that are implemented by the common control library, which is a DLL included with the Windows operating system. |
Common Controls FAQ | This FAQ provides answers to some common questions about the common controls. |
Functions
Topic | Contents |
---|---|
DoReaderMode | Enables reader mode in a window. |
DPA_Clone | Duplicates a dynamic pointer array (DPA). |
DPA_Create | Creates a DPA. |
DPA_CreateEx | Creates a DPA using a given specified size and heap location. |
DPA_DeleteAllPtrs | Removes all items from a DPA and shrinks the DPA accordingly. |
DPA_DeletePtr | Removes an item from a DPA. The DPA shrinks if necessary to accommodate the removed item. |
DPA_Destroy | Frees a Dynamic Pointer Array (DPA). |
DPA_DestroyCallback | Calls pfnCB on each element of the DPA, then frees the DPA. |
DPA_EnumCallback | Iterates through the Dynamic Pointer Array (DPA) and calls pfnCB on each item. |
DPA_GetPtr | Gets an item from a DPA. |
DPA_GetPtrIndex | Gets the index of a matching item found in a DPA. |
DPA_GetSize | Gets the size of a DPA. |
DPA_Grow | Changes the number of pointers in a DPA. |
DPA_InsertPtr | Inserts a new item at a specified position in a DPA. If neccessary, the DPA expands to accommodate the new item. |
DPA_LoadStream | Loads the DPA from a stream by calling the specified callback function to read each element. |
DPA_Merge | Combines the contents of two DPAs. |
DPA_SaveStream | Saves the DPA to a stream by writing out a header, and then calling the specified callback function to write each element. |
DPA_Search | Finds an item in a DPA. |
DPA_SetPtr | Assigns a value to an item in a DPA. |
DPA_Sort | Sorts the items in a Dynamic Pointer Array (DPA). |
DrawShadowText | Draws text that has a shadow. |
DrawTextExPrivWrap | Draws formatted text in the specified rectangle. This function wraps a call to DrawTextEx. |
DrawTextWrap | Draws formatted text in the specified rectangle. It formats the text according to the specified method (expanding tabs, justifying characters, breaking lines, and so on). This function wraps a call to DrawText. |
DSA_Clone | Duplicates a dynamic structure array (DSA). |
DSA_Create | Creates a DSA. |
DSA_DeleteAllItems | Deletes all items from a DSA. |
DSA_DeleteItem | Deletes an item from a DSA. |
DSA_Destroy | Frees a DSA. |
DSA_DestroyCallback | Iterates through a DSA, calling a specified callback function on each item. Upon reaching the end of the array, the DSA is freed. |
DSA_EnumCallback | Iterates through the DSA and calls pfnCB on each item. |
DSA_GetItem | Gets an element from a DSA. |
DSA_GetItemPtr | Gets a pointer to an element from a DSA. |
DSA_GetSize | Gets the size of the DSA. |
DSA_InsertItem | Inserts a new item into a DSA. If necessary, the DSA expands to accommodate the new item. |
DSA_SetItem | Sets the contents of an element in a DSA. |
DSA_Sort | Sorts the items in a DSA. |
ExtTextOutWrap | Draws text using the currently selected font, background color, and text color. You can optionally provide dimensions to be used for clipping, opacity, or both. This function wraps a call to ExtTextOut. |
GetEffectiveClientRect | Calculates the dimensions of a rectangle in the client area that contains all the specified controls. |
GetMUILanguage | Gets the language currently in use by the common controls for a particular process. |
GetTextExtentPoint32Wrap | Computes the width and height of the specified string of text. This function wraps a call to GetTextExtentPoint. |
InitCommonControls | Registers and initializes certain common control window classes. This function is obsolete. New applications should use the InitCommonControlsEx function. |
InitCommonControlsEx | Registers specific common control classes from the common control DLL. |
InitMUILanguage | Enables an application to specify a language to be used with the common controls that is different from the system language. |
LoadIconMetric | Loads a specified icon resource with a client-specified system metric. |
LoadIconWithScaleDown | Loads an icon. If the icon is not a standard size, this function scales down a larger image instead of scaling up a smaller image. |
MirrorIcon | Reverses (mirrors) icons so that they are displayed correctly on a mirrored device context. |
PFNDACOMPARE | Defines the prototype for the compare function used by DSA_Sort. |
PFNDACOMPARECONST | Defines the prototype for the compare function used by DSA_Sort when the items being compared are constant objects. |
PFNDAENUMCALLBACK | Defines the prototype for the callback function used by DSA and DPA functions. |
PFNDAENUMCALLBACKCONST | Defines the prototype for the callback function used by DSA and DPA functions when the items involved are pointers to constant data. |
PFNDPACOMPARE | Defines the prototype for the compare function used by DPA_Sort and DPA_Search. |
PFNDPACOMPARECONST | Defines the prototype for the compare function used by DPA_Sort or DPA_Search when the items being compared are constant objects. |
PFNDPAENUMCALLBACK | Defines the prototype for the callback function used by DPA_EnumCallback. |
PFNDPAMERGE | Defines the prototype for the merge function used by DPA_Merge. |
PFNDPAMERGECONST | Defines the prototype for the merge function used by DPA_Merge, using constant values. |
PFNDPASTREAM | Defines the prototype for the callback function used by DPA_LoadStream and DPA_SaveStream. |
PFNDSAENUMCALLBACK | Defines the prototype for the callback function used by DSA_DestroyCallback. |
ReaderScroll | An application-defined callback function used when the mouse pointer is moved within the portion of the reader mode window that has been declared as the active scrolling area. |
ShowHideMenuCtl | Sets or removes the specified menu item's check mark attribute and shows or hides the corresponding control. The function adds a check mark to the specified menu item if it does not have one and then displays the corresponding control. If the menu item already has a check mark, the function removes the check mark and hides the corresponding control. |
Str_GetPtr | Copies a string from one buffer to another. |
Str_SetPtrW | Sets ppszCurrent to a copy of pszNew and frees the previous value, if necessary. |
TranslateDispatch | Used by the client of the DoReaderMode function to intercept and explicitly handle any windows messages targeted for the scrolling area of the reader mode window. This is an application-defined callback function. |
Macros
Topic | Contents |
---|---|
DPA_AppendPtr | Inserts a new item at the end of a DPA. |
DPA_FastDeleteLastPtr | Deletes the last pointer from a DPA. |
DPA_FastGetPtr | Gets the value of the specified pointer in the DPA. |
DPA_GetPtrCount | Gets the number of pointers in a DPA. |
DPA_GetPtrPtr | Gets the pointer to the internal pointer array of a DPA. |
DPA_SetPtrCount | Sets the number of pointers in a DPA. |
DPA_SortedInsertPtr | Inserts a new item before or after a specified existing item. |
DSA_AppendItem | Appends a new item to the end of a DSA. |
DSA_GetItemCount | Gets the number of items in a DSA. |
FORWARD_WM_NOTIFY | Sends or posts the WM_NOTIFY message. |
HANDLE_WM_NOTIFY | Calls a function that processes the WM_NOTIFY message. |
INDEXTOSTATEIMAGEMASK | Prepares the index of a state image so that a tree-view control or list-view control can use the index to retrieve the state image for an item. |
Messages
Topic | Contents |
---|---|
CCM_DPISCALE | Enables automatic high dots per inch (dpi) scaling in Tree-View controls, List-View controls, ComboBoxEx controls, Header controls, Buttons, Toolbar controls, Animation controls, and Image Lists. |
CCM_GETUNICODEFORMAT | Gets the Unicode character format flag for the control. |
CCM_GETVERSION | Gets the version number for a control set by the most recent CCM_SETVERSION message. |
CCM_SETUNICODEFORMAT | Sets the Unicode character format flag for the control. This message enables you to change the character set used by the control at run time rather than having to re-create the control. |
CCM_SETVERSION | This message is used to inform the control that you are expecting a behavior associated with a particular version. |
CCM_SETWINDOWTHEME | Sets the visual style of a control. |
WM_NOTIFY | Sent by a common control to its parent window when an event has occurred or the control requires some information. |
WM_NOTIFYFORMAT | Determines if a window accepts ANSI or Unicode structures in the WM_NOTIFY notification message. WM_NOTIFYFORMAT messages are sent from a common control to its parent window and from the parent window to the common control. |
Notifications
Topic | Contents |
---|---|
NM_CHAR | The NM_CHAR notification code is sent by a control when a character key is processed. This notification code is sent in the form of a WM_NOTIFY message. |
NM_CUSTOMDRAW | Notifies a control's parent window about custom drawing operations. This notification code is sent in the form of a WM_NOTIFY message. |
NM_CUSTOMTEXT | Notifies a control's parent window about custom text operations. This notification code is sent in the form of a WM_NOTIFY message. |
NM_FONTCHANGED | Sent by a list-view control when the control has changed a font. This notification code is sent in the form of a WM_NOTIFY message. |
NM_GETCUSTOMSPLITRECT | Sent by a button control to its parent to get measurements for the two rectangles that make up the split button. This notification code is sent in the form of a WM_NOTIFY message. |
NM_HOVER | Sent by a control when the mouse hovers over an item. This notification code is sent in the form of a WM_NOTIFY message. |
NM_KEYDOWN | Sent by a control when the control has the keyboard focus and the user presses a key. This notification code is sent in the form of a WM_NOTIFY message. |
NM_KILLFOCUS | Notifies a control's parent window that the control has lost the input focus. This notification code is sent in the form of a WM_NOTIFY message. |
NM_LDOWN | Notifies a control's parent window that the left mouse button has been pressed. This notification code is sent in the form of a WM_NOTIFY message. |
NM_NCHITTEST | Sent by a rebar control when the control receives a WM_NCHITTEST message. This notification code is sent in the form of a WM_NOTIFY message. |
NM_OUTOFMEMORY | Notifies a control's parent window that the control could not complete an operation because there was not enough memory available. This notification code is sent in the form of a WM_NOTIFY message. |
NM_RDOWN | Not currently supported. |
NM_RELEASEDCAPTURE | Notifies a control's parent window that the control is releasing mouse capture. This notification code is sent in the form of a WM_NOTIFY message. |
NM_RETURN | Notifies a control's parent window that the control has the input focus and that the user has pressed the ENTER key. This notification code is sent in the form of a WM_NOTIFY message. |
NM_SETCURSOR | Notifies a control's parent window that the control is setting the cursor in response to a NM_SETCURSOR message. This notification code is sent in the form of a WM_NOTIFY message. |
NM_SETFOCUS | Notifies a control's parent window that the control has received the input focus. This notification code is sent in the form of a WM_NOTIFY message. |
NM_THEMECHANGED | Notifies a control's parent window that the theme has changed. This notification code is sent in the form of a WM_NOTIFY message. |
NM_TOOLTIPSCREATED | Notifies a control's parent window that the control has created a tooltip control. This notification code is sent in the form of a WM_NOTIFY message. |
NM_TVSTATEIMAGECHANGING | Sent by a tree-view control to its parent window that the state image is changing. This notification code is sent in the form of a WM_NOTIFY message. |
Structures
Topic | Contents |
---|---|
COLORSCHEME | Contains information for the drawing of buttons in a toolbar or rebar. |
DPASTREAMINFO | Contains a stream item used by the PFNDPASTREAM callback function. |
INITCOMMONCONTROLSEX | Carries information used to load common control classes from the dynamic-link library (DLL). This structure is used with the InitCommonControlsEx function. |
NMCHAR | Contains information used with character notification messages. |
NMCUSTOMSPLITRECTINFO | Contains information about the two rectangles of a split button. Sent with the NM_GETCUSTOMSPLITRECT notification. |
NMCUSTOMTEXT | Contains information used with custom text notification. |
NMHDR | Contains information about a notification message. |
NMKEY | Contains information used with key notification messages. |
NMMOUSE | Contains information used with mouse notification messages. |
NMOBJECTNOTIFY | Contains information used with the TBN_GETOBJECT, TCN_GETOBJECT, and PSN_GETOBJECT notification codes. |
NMTOOLTIPSCREATED | Contains information used with NM_TOOLTIPSCREATED notification code. |
READERMODEINFO | Contains information required to initialize the DoReaderMode function. |
Constants
Topic | Contents |
---|---|
CDRF Constants | These constants are used as return values by a control in response to an NM_CUSTOMDRAW notification code. |
Styles | This section lists common control styles. Except where noted, these styles apply to header controls, toolbar controls, and status windows. |
Window Classes | This section lists the window class names provided by the common control library. |