Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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. |