/// <summary>Align the image with the left margin.</summary>
BUTTON_IMAGELIST_ALIGN_LEFT=0,
/// <summary>Align the image with the right margin.</summary>
BUTTON_IMAGELIST_ALIGN_RIGHT=1,
/// <summary>Align the image with the top margin.</summary>
BUTTON_IMAGELIST_ALIGN_TOP=2,
/// <summary>Align the image with the bottom margin.</summary>
BUTTON_IMAGELIST_ALIGN_BOTTOM=3,
/// <summary>Center the image.</summary>
BUTTON_IMAGELIST_ALIGN_CENTER=4// Doesn't draw text
}
/// <summary>Message identifiers used with the SendMessage function.</summary>
publicenumButtonMessage
{
/// <summary>Gets the check state of a radio button or check box. Return value is one of the <see cref="ButtonStateFlags"/> values.</summary>
BM_GETCHECK=0x00F0,
/// <summary>Sets the check state of a radio button or check box. wParam is one of the <see cref="ButtonStateFlags"/> values.</summary>
BM_SETCHECK=0x00F1,
/// <summary>Retrieves the state of a button or check box. Return value is one of the <see cref="ButtonStateFlags"/> values.</summary>
BM_GETSTATE=0x00F2,
/// <summary>
/// Sets the highlight state of a button. The highlight state indicates whether the button is highlighted as if the user had pushed it.
/// </summary>
BM_SETSTATE=0x00F3,
/// <summary>Sets the style of a button.</summary>
BM_SETSTYLE=0x00F4,
/// <summary>
/// Simulates the user clicking a button. This message causes the button to receive the WM_LBUTTONDOWN and WM_LBUTTONUP messages, and the button's
/// parent window to receive a BN_CLICKED notification code.
/// </summary>
BM_CLICK=0x00F5,
/// <summary>Retrieves a handle to the image (icon or bitmap) associated with the button.</summary>
BM_GETIMAGE=0x00F6,
/// <summary>Associates a new image (icon or bitmap) with the button.</summary>
BM_SETIMAGE=0x00F7,
/// <summary>Sets a flag on a radio button that controls the generation of BN_CLICKED messages when the button receives focus.</summary>
BM_SETDONTCLICK=0x00F8,
/// <summary>Gets the size of the button that best fits its text and image, if an image list is present.</summary>
BCM_GETIDEALSIZE=BCM_FIRST+0x0001,
/// <summary>Assigns an image list to a button control.</summary>
BCM_SETIMAGELIST=BCM_FIRST+0x0002,
/// <summary>Gets the BUTTON_IMAGELIST structure that describes the image list assigned to a button control.</summary>
BCM_GETIMAGELIST=BCM_FIRST+0x0003,
/// <summary>The BCM_SETTEXTMARGIN message sets the margins for drawing text in a button control.</summary>
BCM_SETTEXTMARGIN=BCM_FIRST+0x0004,
/// <summary>Gets the margins used to draw text in a button control.</summary>
BCM_GETTEXTMARGIN=BCM_FIRST+0x0005,
/// <summary>Sets the drop down state for a button with style TBSTYLE_DROPDOWN.</summary>
BCM_SETDROPDOWNSTATE=BCM_FIRST+0x0006,
/// <summary>Sets information for a split button control.</summary>
BCM_SETSPLITINFO=BCM_FIRST+0x0007,
/// <summary>Gets information for a split button control.</summary>
BCM_GETSPLITINFO=BCM_FIRST+0x0008,
/// <summary>Sets the text of the note associated with a command link button.</summary>
BCM_SETNOTE=BCM_FIRST+0x0009,
/// <summary>Gets the text of the note associated with a command link button.</summary>
BCM_GETNOTE=BCM_FIRST+0x000A,
/// <summary>Gets the length of the note text that may be displayed in the description for a command link button.</summary>
BCM_GETNOTELENGTH=BCM_FIRST+0x000B,
/// <summary>Sets the elevation required state for a specified button or command link to display an elevated icon.</summary>
BCM_SETSHIELD=BCM_FIRST+0x000C,
}
publicenumButtonNotification
{
BN_CLICKED=0,
BN_PAINT=1,
BN_HILITE=2,
BN_UNHILITE=3,
BN_DISABLE=4,
BN_DOUBLECLICKED=5,
BN_PUSHED=BN_HILITE,
BN_UNPUSHED=BN_UNHILITE,
BN_DBLCLK=BN_DOUBLECLICKED,
BN_SETFOCUS=6,
BN_KILLFOCUS=7,
BCN_HOTITEMCHANGE=BCN_FIRST+0x0001,
BCN_DROPDOWN=BCN_FIRST+0x0002,
/// <summary>Sent by a button control to its parent to get measurements for the two rectangles of the split button. This notification code is sent in the form of a WM_NOTIFY message.
/// <list>
/// <item><term>lParam</term><description>A pointer to an NMCUSTOMSPLITRECTINFO to receive bounding rectangles information. The NMCUSTOMSPLITRECTINFO structure is sent with the notification code as a request for the parent to provide measurements for the rectangles of the split button.</description></item>
/// <item><term>Return value</term><description>Return CDRF_SKIPDEFAULT to tell the button control to use the values returned in the NMCUSTOMSPLITRECTINFO structure; otherwise, return CDRF_DODEFAULT.</description></item>
/// </list></summary>
NM_GETCUSTOMSPLITRECT=BCN_FIRST+0x0003,
}
[Flags]
publicenumButtonStateFlags
{
/// <summary>No special state. Equivalent to zero.</summary>
BST_UNCHECKED=0x0000,
/// <summary>The button is checked.</summary>
BST_CHECKED=0x0001,
/// <summary>The state of the button is indeterminate. Applies only if the button has the BS_3STATE or BS_AUTO3STATE style.</summary>
BST_INDETERMINATE=0x0002,
/// <summary>The button is being shown in the pushed state.</summary>
BST_PUSHED=0x0004,
/// <summary>The button has the keyboard focus.</summary>
BST_FOCUS=0x0008,
/// <summary>The button is hot; that is, the mouse is hovering over it.</summary>
BST_HOT=0x0200,
/// <summary><c>Windows Vista.</c> The button is in the drop-down state. Applies only if the button has the TBSTYLE_DROPDOWN style.</summary>
BST_DROPDOWNPUSHED=0x0400
}
publicenumButtonStyle
{
BS_SPLITBUTTON=0x0000000C,
BS_DEFSPLITBUTTON=0x0000000D,
BS_COMMANDLINK=0x0000000E,
BS_DEFCOMMANDLINK=0x0000000F,
}
/// <summary>A set of flags that specify which members of <see cref="BUTTON_SPLITINFO"/> contain data to be set or which members are being requested.</summary>
/// A handle to the image list. The provider retains ownership of the image list and is ultimately responsible for its disposal. Under Windows Vista,
/// you can pass BCCL_NOGLYPH in this parameter to indicate that no glyph should be displayed.
/// </summary>
publicIntPtrhiml;
/// <summary>A RECT that specifies the margin around the icon.</summary>
publicRECTmargin;
/// <summary>A UINT that specifies the alignment to use.</summary>
publicButtonImageListAlignuAlign;
}
/// <summary>
/// Contains information that defines a split button (BS_SPLITBUTTON and BS_DEFSPLITBUTTON styles). Used with the BCM_GETSPLITINFO and BCM_SETSPLITINFO messages.
/// <summary>The action of the mouse. This parameter can be one of the following values combined with HICF_MOUSE.</summary>
publicHotItemChangeFlagsdwFlags;
}
/// <summary>
/// Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return
/// until the window procedure has processed the message.
/// </summary>
/// <param name="hWnd">
/// A handle to the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST ((HWND)0xffff), the message is sent to
/// all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not
/// sent to child windows.
/// </param>
/// <param name="Msg">The message to be sent.</param>
/// Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return
/// until the window procedure has processed the message.
/// </summary>
/// <param name="hWnd">
/// A handle to the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST ((HWND)0xffff), the message is sent to
/// all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not
/// sent to child windows.
/// </param>
/// <param name="Msg">The message to be sent.</param>