File: Windows.Win32.DRAWITEMSTRUCT.g.cs
Project: src\src\System.Windows.Forms.Primitives\src\System.Windows.Forms.Primitives.csproj (System.Windows.Forms.Primitives)
// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------

#pragma warning disable CS1591,CS1573,CS0465,CS0649,CS8019,CS1570,CS1584,CS1658,CS0436,CS8981
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using global::System.Runtime.Versioning;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
	namespace UI.Controls
	{
		/// <summary>Provides information that the owner window uses to determine how to paint an owner-drawn control or menu item.</summary>
		/// <remarks>Some control types, such as status bars, do not set the value of <b>CtlType</b>.</remarks>
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal partial struct DRAWITEMSTRUCT
		{
			/// <summary>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b></summary>
			internal winmdroot.UI.Controls.DRAWITEMSTRUCT_CTL_TYPE CtlType;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> The identifier of the combo box, list box, button, or static control. This member is not used for a menu item.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal uint CtlID;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> The menu item identifier for a menu item or the index of the item in a list box or combo box. For an empty list box or combo box, this member can be <c>-1</c>. This allows the application to draw only the focus rectangle at the coordinates specified by the <b>rcItem</b> member even though there are no items in the control. This indicates to the user whether the list box or combo box has the focus. How the bits are set in the <b>itemAction</b> member determines whether the rectangle is to be drawn as though the list box or combo box has the focus.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal uint itemID;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> The required drawing action. This member can be one or more of the values. </para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.UI.Controls.ODA_FLAGS itemAction;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> The visual state of the item after the current drawing action takes place. This member can be a combination of the values shown in the following table. </para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.UI.Controls.ODS_FLAGS itemState;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">HWND</a></b> A handle to the control for combo boxes, list boxes, buttons, and static controls. For menus, this member is a handle to the menu that contains the item.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.HWND hwndItem;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">HDC</a></b> A handle to a device context; this device context must be used when performing drawing operations on the control.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Graphics.Gdi.HDC hDC;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a></b> A rectangle that defines the boundaries of the control to be drawn. This rectangle is in the device context specified by the <b>hDC</b> member. The system automatically clips anything that the owner window draws in the device context for combo boxes, list boxes, and buttons, but does not clip menu items. When drawing menu items, the owner window must not draw outside the boundaries of the rectangle defined by the <b>rcItem</b> member.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.RECT rcItem;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">ULONG_PTR</a></b> The application-defined value associated with the menu item. For a control, this parameter specifies the value last assigned to the list box or combo box by the <a href="https://docs.microsoft.com/windows/desktop/Controls/lb-setitemdata">LB_SETITEMDATA</a> or <a href="https://docs.microsoft.com/windows/desktop/Controls/cb-setitemdata">CB_SETITEMDATA</a> message. If the list box or combo box has the <a href="https://docs.microsoft.com/windows/desktop/Controls/list-box-styles">LBS_HASSTRINGS</a> or <a href="https://docs.microsoft.com/windows/desktop/Controls/combo-box-styles">CBS_HASSTRINGS</a> style, this value is initially zero. Otherwise, this value is initially the value that was passed to the list box or combo box in the <i>lParam</i> parameter of one of the following messages:</para>
			/// <para></para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-drawitemstruct#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal nuint itemData;
		}
	}
}