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
}
}
}