namespace Vanara.PInvoke { public static partial class ComCtl32 { internal const int CCM_FIRST = 0x2000; /// General Control Messages // https://docs.microsoft.com/en-us/windows/win32/controls/bumper-general-control-reference-messages [PInvokeData("Commctrl.h")] public enum CommonControlMessage { /// CCM_SETBKCOLOR = CCM_FIRST + 1, // lParam is bkColor /// CCM_SETCOLORSCHEME = CCM_FIRST + 2, // lParam is color scheme /// CCM_GETCOLORSCHEME = CCM_FIRST + 3, // fills in COLORSCHEME pointed to by lParam /// CCM_GETDROPTARGET = CCM_FIRST + 4, /// /// 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. /// Parameters /// wParam /// /// A value that determines the character set that is used by the control. If this value is TRUE, the control will use /// Unicode characters. If this value is FALSE, the control will use ANSI characters. /// /// lParam /// Must be zero. /// Returns /// Returns the previous Unicode format flag for the control. /// // https://docs.microsoft.com/en-us/windows/win32/controls/ccm-setunicodeformat CCM_SETUNICODEFORMAT = CCM_FIRST + 5, /// Gets the Unicode character format flag for the control. /// Parameters /// wParam /// Must be zero. /// lParam /// Must be zero. /// Returns /// /// Returns the Unicode format flag for the control. If this value is nonzero, the control is using Unicode characters. If this /// value is zero, the control is using ANSI characters. /// /// // https://docs.microsoft.com/en-us/windows/win32/controls/ccm-getunicodeformat CCM_GETUNICODEFORMAT = CCM_FIRST + 6, /// This message is used to inform the control that you are expecting a behavior associated with a particular version. /// Parameters /// wParam /// The version number. /// lParam /// Must be zero. /// Returns /// /// Returns the version specified in the previous CCM_SETVERSION message. If wParam is set to a value greater than the /// current DLL version, it returns -1. /// /// /// /// /// In a few cases, a control may behave differently, depending on the version. This primarily applies to bugs that were fixed in /// later versions. The CCM_SETVERSION message enables you to inform the control which behavior is expected. You can /// determine which version you have specified by sending a CCM_GETVERSION message. For an example of how to use this /// message, see Custom Draw With List-View and Tree-View Controls. /// /// /// If you have ComCtl32.dll version 6 installed, regardless of what value you set in wParam, the CCM_SETVERSION message /// returns version 6. /// /// /// Note /// This message only sets the version number for the control to which it is sent. /// /// // https://docs.microsoft.com/en-us/windows/win32/controls/ccm-setversion CCM_SETVERSION = CCM_FIRST + 0x7, /// Gets the version number for a control set by the most recent CCM_SETVERSION message. /// Parameters /// wParam /// Must be zero. /// lParam /// Must be zero. /// Returns /// /// Returns the version number set by the most recent CCM_SETVERSION message. If no such message has been sent, it returns zero. /// /// /// /// /// This message does not return the DLL version. See Shell Versions for a discussion of how to use DllGetVersion to /// retrieve the current DLL version. /// /// /// Note /// The version number is set on a control by control basis, and may not be the same for all controls. /// /// // https://docs.microsoft.com/en-us/windows/win32/controls/ccm-getversion CCM_GETVERSION = CCM_FIRST + 0x8, /// CCM_SETNOTIFYWINDOW = CCM_FIRST + 0x9, // wParam == hwndParent. /// Sets the visual style of a control. /// Parameters /// wParam /// Must be zero. /// lParam /// A pointer to a Unicode string that contains the control visual style to set. /// Returns /// The return value is not used. /// /// /// Note /// /// To use this message, you must provide a manifest specifying Comclt32.dll version 6.0. For more information on manifests, see /// Enabling Visual Styles. /// /// // https://docs.microsoft.com/en-us/windows/win32/controls/ccm-setwindowtheme CCM_SETWINDOWTHEME = CCM_FIRST + 0xb, /// /// 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. /// Parameters /// wParam /// Set to TRUE. /// lParam /// Must be zero. /// Returns /// The return value is not used. /// /// /// Quick Launch and Taskbar should not specify a dpi scaling, because the images are already scaled. /// Any control that uses an image list created with the SmallIcon metric should not scale its icons. /// /// Note /// /// To use this API, you must provide a manifest that specifies Comclt32.dll version 6.0. For more information on manifests, see /// Enabling Visual Styles. /// /// /// // https://docs.microsoft.com/en-us/windows/win32/controls/ccm-dpiscale CCM_DPISCALE = CCM_FIRST + 0xc, // wParam == Awareness } } }