หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
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 necessary, 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. |