Skip to content

Commit cf0176c

Browse files
authored
Merge pull request dotnet#421 from AArnott/addCursors
Add several user32 cursor functions
2 parents e4795af + 1ac250c commit cf0176c

9 files changed

+521
-18
lines changed

src/User32/PublicAPI.Shipped.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1914,7 +1914,6 @@ static extern PInvoke.User32.IsWindow(System.IntPtr hWnd) -> bool
19141914
static extern PInvoke.User32.IsWindowUnicode(System.IntPtr hWnd) -> bool
19151915
static extern PInvoke.User32.IsWindowVisible(System.IntPtr hWnd) -> bool
19161916
static extern PInvoke.User32.IsZoomed(System.IntPtr hWnd) -> bool
1917-
static extern PInvoke.User32.LoadCursor(System.IntPtr hInstance, System.IntPtr lpCursorName) -> System.IntPtr
19181917
static extern PInvoke.User32.LoadIcon(System.IntPtr hInstance, System.IntPtr lpIconName) -> System.IntPtr
19191918
static extern PInvoke.User32.LoadIcon(System.IntPtr hInstance, string lpIconName) -> System.IntPtr
19201919
static extern PInvoke.User32.LoadString(System.IntPtr hInstance, uint uID, out char* lpBuffer, int cchBufferMax) -> int

src/User32/PublicAPI.Unshipped.txt

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
PInvoke.User32.CURSORINFO
2+
PInvoke.User32.CURSORINFO.CURSORINFO() -> void
3+
PInvoke.User32.CURSORINFO.cbSize -> int
4+
PInvoke.User32.CURSORINFO.flags -> PInvoke.User32.CURSORINFOFlags
5+
PInvoke.User32.CURSORINFO.hCursor -> System.IntPtr
6+
PInvoke.User32.CURSORINFO.ptScreenPos -> PInvoke.POINT
7+
PInvoke.User32.CURSORINFOFlags
8+
PInvoke.User32.CURSORINFOFlags.CURSOR_HIDDEN = 0 -> PInvoke.User32.CURSORINFOFlags
9+
PInvoke.User32.CURSORINFOFlags.CURSOR_SHOWING = 1 -> PInvoke.User32.CURSORINFOFlags
10+
PInvoke.User32.CURSORINFOFlags.CURSOR_SUPPRESSED = 2 -> PInvoke.User32.CURSORINFOFlags
11+
PInvoke.User32.Cursors
12+
PInvoke.User32.Cursors.IDC_APPSTARTING = 32650 -> PInvoke.User32.Cursors
13+
PInvoke.User32.Cursors.IDC_ARROW = 32512 -> PInvoke.User32.Cursors
14+
PInvoke.User32.Cursors.IDC_CROSS = 32515 -> PInvoke.User32.Cursors
15+
PInvoke.User32.Cursors.IDC_HAND = 32649 -> PInvoke.User32.Cursors
16+
PInvoke.User32.Cursors.IDC_HELP = 32651 -> PInvoke.User32.Cursors
17+
PInvoke.User32.Cursors.IDC_IBEAM = 32513 -> PInvoke.User32.Cursors
18+
PInvoke.User32.Cursors.IDC_ICON = 32641 -> PInvoke.User32.Cursors
19+
PInvoke.User32.Cursors.IDC_NO = 32648 -> PInvoke.User32.Cursors
20+
PInvoke.User32.Cursors.IDC_SIZE = 32640 -> PInvoke.User32.Cursors
21+
PInvoke.User32.Cursors.IDC_SIZEALL = 32646 -> PInvoke.User32.Cursors
22+
PInvoke.User32.Cursors.IDC_SIZENESW = 32643 -> PInvoke.User32.Cursors
23+
PInvoke.User32.Cursors.IDC_SIZENS = 32645 -> PInvoke.User32.Cursors
24+
PInvoke.User32.Cursors.IDC_SIZENWSE = 32642 -> PInvoke.User32.Cursors
25+
PInvoke.User32.Cursors.IDC_SIZEWE = 32644 -> PInvoke.User32.Cursors
26+
PInvoke.User32.Cursors.IDC_UPARROW = 32516 -> PInvoke.User32.Cursors
27+
PInvoke.User32.Cursors.IDC_WAIT = 32514 -> PInvoke.User32.Cursors
128
PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
229
PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.DCDC_DEFAULT = 0 -> PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
330
PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.DCDC_DISABLE_FONT_UPDATE = 1 -> PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
@@ -27,6 +54,23 @@ PInvoke.User32.GetWindowCommands.GW_HWNDLAST = 1 -> PInvoke.User32.GetWindowComm
2754
PInvoke.User32.GetWindowCommands.GW_HWNDNEXT = 2 -> PInvoke.User32.GetWindowCommands
2855
PInvoke.User32.GetWindowCommands.GW_HWNDPREV = 3 -> PInvoke.User32.GetWindowCommands
2956
PInvoke.User32.GetWindowCommands.GW_OWNER = 4 -> PInvoke.User32.GetWindowCommands
57+
PInvoke.User32.ImageType
58+
PInvoke.User32.ImageType.IMAGE_BITMAP = 0 -> PInvoke.User32.ImageType
59+
PInvoke.User32.ImageType.IMAGE_CURSOR = 2 -> PInvoke.User32.ImageType
60+
PInvoke.User32.ImageType.IMAGE_ICON = 1 -> PInvoke.User32.ImageType
61+
PInvoke.User32.LoadImageFlags
62+
PInvoke.User32.LoadImageFlags.LR_CREATEDIBSECTION = 8192 -> PInvoke.User32.LoadImageFlags
63+
PInvoke.User32.LoadImageFlags.LR_DEFAULTCOLOR = 0 -> PInvoke.User32.LoadImageFlags
64+
PInvoke.User32.LoadImageFlags.LR_DEFAULTSIZE = 64 -> PInvoke.User32.LoadImageFlags
65+
PInvoke.User32.LoadImageFlags.LR_LOADFROMFILE = 16 -> PInvoke.User32.LoadImageFlags
66+
PInvoke.User32.LoadImageFlags.LR_LOADMAP3DCOLORS = 4096 -> PInvoke.User32.LoadImageFlags
67+
PInvoke.User32.LoadImageFlags.LR_LOADTRANSPARENT = 32 -> PInvoke.User32.LoadImageFlags
68+
PInvoke.User32.LoadImageFlags.LR_MONOCHROME = 1 -> PInvoke.User32.LoadImageFlags
69+
PInvoke.User32.LoadImageFlags.LR_SHARED = 32768 -> PInvoke.User32.LoadImageFlags
70+
PInvoke.User32.LoadImageFlags.LR_VGACOLOR = 128 -> PInvoke.User32.LoadImageFlags
71+
PInvoke.User32.SafeCursorHandle
72+
PInvoke.User32.SafeCursorHandle.SafeCursorHandle() -> void
73+
PInvoke.User32.SafeCursorHandle.SafeCursorHandle(System.IntPtr preexistingHandle, bool ownsHandle = true) -> void
3074
PInvoke.User32.SendMessageTimeoutFlags
3175
PInvoke.User32.SendMessageTimeoutFlags.SMTO_ABORTIFHUNG = 2 -> PInvoke.User32.SendMessageTimeoutFlags
3276
PInvoke.User32.SendMessageTimeoutFlags.SMTO_BLOCK = 1 -> PInvoke.User32.SendMessageTimeoutFlags
@@ -52,21 +96,35 @@ PInvoke.User32.mouse_eventFlags.MOUSEEVENTF_RIGHTUP = 16 -> PInvoke.User32.mouse
5296
PInvoke.User32.mouse_eventFlags.MOUSEEVENTF_WHEEL = 2048 -> PInvoke.User32.mouse_eventFlags
5397
PInvoke.User32.mouse_eventFlags.MOUSEEVENTF_XDOWN = 128 -> PInvoke.User32.mouse_eventFlags
5498
PInvoke.User32.mouse_eventFlags.MOUSEEVENTF_XUP = 256 -> PInvoke.User32.mouse_eventFlags
99+
override PInvoke.User32.SafeCursorHandle.IsInvalid.get -> bool
100+
override PInvoke.User32.SafeCursorHandle.ReleaseHandle() -> bool
55101
static PInvoke.User32.AdjustWindowRectEx(System.IntPtr lpRect, PInvoke.User32.WindowStyles dwStyle, bool bMenu, PInvoke.User32.WindowStylesEx dwExStyle) -> bool
56102
static PInvoke.User32.AdjustWindowRectExForDpi(System.IntPtr lpRect, PInvoke.User32.WindowStyles dwStyle, bool bMenu, PInvoke.User32.WindowStylesEx dwExStyle, int dpi) -> bool
103+
static PInvoke.User32.CURSORINFO.Create() -> PInvoke.User32.CURSORINFO
104+
static PInvoke.User32.CreateCursor(System.IntPtr hInst, int xHotspot, int yHotSpot, int nWidth, int nHeight, System.IntPtr pvANDPlane, System.IntPtr pvXORPlane) -> PInvoke.User32.SafeCursorHandle
105+
static PInvoke.User32.CreateCursor(System.IntPtr hInst, int xHotspot, int yHotSpot, int nWidth, int nHeight, byte[] pvANDPlane, byte[] pvXORPlane) -> PInvoke.User32.SafeCursorHandle
57106
static PInvoke.User32.CreateWindowEx(PInvoke.User32.WindowStylesEx dwExStyle, short lpClassName, string lpWindowName, PInvoke.User32.WindowStyles dwStyle, int x, int y, int nWidth, int nHeight, System.IntPtr hWndParent, System.IntPtr hMenu, System.IntPtr hInstance, System.IntPtr lpParam) -> System.IntPtr
58107
static PInvoke.User32.CreateWindowEx(PInvoke.User32.WindowStylesEx dwExStyle, short lpClassName, string lpWindowName, PInvoke.User32.WindowStyles dwStyle, int x, int y, int nWidth, int nHeight, System.IntPtr hWndParent, System.IntPtr hMenu, System.IntPtr hInstance, void* lpParam) -> System.IntPtr
108+
static PInvoke.User32.GetCursorInfo(System.IntPtr pci) -> bool
109+
static PInvoke.User32.GetCursorInfo(out PInvoke.User32.CURSORINFO pci) -> bool
59110
static PInvoke.User32.GetNextWindow(System.IntPtr hWnd, PInvoke.User32.GetNextWindowCommands wCmd) -> System.IntPtr
111+
static PInvoke.User32.LoadCursor(System.IntPtr hInstance, System.IntPtr lpCursorName) -> PInvoke.User32.SafeCursorHandle
112+
static PInvoke.User32.LoadCursor(System.IntPtr hInstance, char[] lpCursorName) -> PInvoke.User32.SafeCursorHandle
113+
static PInvoke.User32.LoadImage(System.IntPtr hInst, System.IntPtr name, PInvoke.User32.ImageType type, int cx, int cy, PInvoke.User32.LoadImageFlags fuLoad) -> System.IntPtr
114+
static PInvoke.User32.LoadImage(System.IntPtr hInst, char[] name, PInvoke.User32.ImageType type, int cx, int cy, PInvoke.User32.LoadImageFlags fuLoad) -> System.IntPtr
60115
static PInvoke.User32.SetWindowLongPtr(System.IntPtr hWnd, PInvoke.User32.WindowLongIndexFlags nIndex, System.IntPtr dwNewLong) -> System.IntPtr
61116
static PInvoke.User32.SetWindowLongPtr(System.IntPtr hWnd, PInvoke.User32.WindowLongIndexFlags nIndex, void* dwNewLong) -> void*
62117
static PInvoke.User32.SystemParametersInfoForDpi(PInvoke.User32.SystemParametersInfoAction uiAction, int uiParam, System.IntPtr pvParam, PInvoke.User32.SystemParametersInfoFlags fWinIni, int dpi) -> bool
63118
static PInvoke.User32.mouse_event(PInvoke.User32.mouse_eventFlags dwFlags, int dx, int dy, int dwData, System.IntPtr dwExtraInfo) -> void
64119
static extern PInvoke.User32.AdjustWindowRectEx(PInvoke.RECT* lpRect, PInvoke.User32.WindowStyles dwStyle, bool bMenu, PInvoke.User32.WindowStylesEx dwExStyle) -> bool
65120
static extern PInvoke.User32.AdjustWindowRectExForDpi(PInvoke.RECT* lpRect, PInvoke.User32.WindowStyles dwStyle, bool bMenu, PInvoke.User32.WindowStylesEx dwExStyle, int dpi) -> bool
66121
static extern PInvoke.User32.AreDpiAwarenessContextsEqual(System.IntPtr dpiContextA, System.IntPtr dpiContextB) -> bool
122+
static extern PInvoke.User32.CreateCursor(System.IntPtr hInst, int xHotspot, int yHotSpot, int nWidth, int nHeight, byte* pvANDPlane, byte* pvXORPlane) -> PInvoke.User32.SafeCursorHandle
67123
static extern PInvoke.User32.DestroyWindow(System.IntPtr hWnd) -> bool
68124
static extern PInvoke.User32.EnableNonClientDpiScaling(System.IntPtr hwnd) -> bool
69125
static extern PInvoke.User32.GetAwarenessFromDpiAwarenessContext(System.IntPtr dpiAwarenessContext) -> PInvoke.User32.DPI_AWARENESS
126+
static extern PInvoke.User32.GetCursor() -> PInvoke.User32.SafeCursorHandle
127+
static extern PInvoke.User32.GetCursorInfo(PInvoke.User32.CURSORINFO* pci) -> bool
70128
static extern PInvoke.User32.GetDialogControlDpiChangeBehavior(System.IntPtr hWnd) -> PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS
71129
static extern PInvoke.User32.GetDialogDpiChangeBehavior(System.IntPtr hDlg) -> PInvoke.User32.DIALOG_DPI_CHANGE_BEHAVIORS
72130
static extern PInvoke.User32.GetDpiForSystem() -> int
@@ -81,17 +139,22 @@ static extern PInvoke.User32.GetWindow(System.IntPtr hWnd, PInvoke.User32.GetWin
81139
static extern PInvoke.User32.GetWindowDpiAwarenessContext(System.IntPtr hwnd) -> System.IntPtr
82140
static extern PInvoke.User32.GetWindowDpiHostingBehavior(System.IntPtr hwnd) -> PInvoke.User32.DPI_HOSTING_BEHAVIOR
83141
static extern PInvoke.User32.IsValidDpiAwarenessContext(System.IntPtr dpiAwarenessContext) -> bool
142+
static extern PInvoke.User32.LoadCursor(System.IntPtr hInstance, char* lpCursorName) -> PInvoke.User32.SafeCursorHandle
143+
static extern PInvoke.User32.LoadImage(System.IntPtr hInst, char* name, PInvoke.User32.ImageType type, int cx, int cy, PInvoke.User32.LoadImageFlags fuLoad) -> System.IntPtr
84144
static extern PInvoke.User32.SendMessageTimeout(System.IntPtr hWnd, PInvoke.User32.WindowMessage msg, System.IntPtr wParam, System.IntPtr lParam, PInvoke.User32.SendMessageTimeoutFlags flags, int timeout, out System.IntPtr pdwResult) -> System.IntPtr
145+
static extern PInvoke.User32.SetCursor(PInvoke.User32.SafeCursorHandle hCursor) -> PInvoke.User32.SafeCursorHandle
85146
static extern PInvoke.User32.SetDialogControlDpiChangeBehavior(System.IntPtr hwnd, PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS mask, PInvoke.User32.DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS values) -> bool
86147
static extern PInvoke.User32.SetDialogDpiChangeBehavior(System.IntPtr hDlg, PInvoke.User32.DIALOG_DPI_CHANGE_BEHAVIORS mask, PInvoke.User32.DIALOG_DPI_CHANGE_BEHAVIORS values) -> bool
87148
static extern PInvoke.User32.SetLastErrorEx(uint dwErrCode, uint dwType) -> void
88149
static extern PInvoke.User32.SetProcessDpiAwarenessContext(System.IntPtr dpiAWarenessContext) -> bool
89150
static extern PInvoke.User32.SetThreadDpiAwarenessContext(System.IntPtr dpiContext) -> System.IntPtr
90151
static extern PInvoke.User32.SetThreadDpiHostingBehavior(PInvoke.User32.DPI_HOSTING_BEHAVIOR dpiHostingBehavior) -> PInvoke.User32.DPI_HOSTING_BEHAVIOR
91152
static extern PInvoke.User32.SetWindowText(System.IntPtr hWnd, string lpString) -> bool
153+
static extern PInvoke.User32.ShowCursor(bool bShow) -> int
92154
static extern PInvoke.User32.SystemParametersInfoForDpi(PInvoke.User32.SystemParametersInfoAction uiAction, int uiParam, void* pvParam, PInvoke.User32.SystemParametersInfoFlags fWinIni, int dpi) -> bool
93155
static extern PInvoke.User32.mouse_event(PInvoke.User32.mouse_eventFlags dwFlags, int dx, int dy, int dwData, void* dwExtraInfo) -> void
94156
static readonly PInvoke.User32.DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE -> System.IntPtr
95157
static readonly PInvoke.User32.DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 -> System.IntPtr
96158
static readonly PInvoke.User32.DPI_AWARENESS_CONTEXT_SYSTEM_AWARE -> System.IntPtr
97-
static readonly PInvoke.User32.DPI_AWARENESS_CONTEXT_UNAWARE -> System.IntPtr
159+
static readonly PInvoke.User32.DPI_AWARENESS_CONTEXT_UNAWARE -> System.IntPtr
160+
static readonly PInvoke.User32.SafeCursorHandle.Null -> PInvoke.User32.SafeCursorHandle

src/User32/User32+CURSORINFO.cs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// Copyright (c) All contributors. All rights reserved.
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
namespace PInvoke
5+
{
6+
using System;
7+
using System.Runtime.InteropServices;
8+
9+
/// <content>
10+
/// Contains the <see cref="CURSORINFO"/> nested type.
11+
/// </content>
12+
public static partial class User32
13+
{
14+
/// <summary>
15+
/// Contains global cursor information.
16+
/// </summary>
17+
[StructLayout(LayoutKind.Sequential)]
18+
public struct CURSORINFO
19+
{
20+
/// <summary>
21+
/// The size of the structure, in bytes. The caller must set this to sizeof(CURSORINFO).
22+
/// </summary>
23+
public int cbSize;
24+
25+
/// <summary>
26+
/// The cursor state.
27+
/// </summary>
28+
public CURSORINFOFlags flags;
29+
30+
/// <summary>
31+
/// A handle to the cursor. An HCURSOR. Consider exposing as an <see cref="SafeCursorHandle" />.
32+
/// </summary>
33+
public IntPtr hCursor;
34+
35+
/// <summary>
36+
/// A structure that receives the screen coordinates of the cursor.
37+
/// </summary>
38+
public POINT ptScreenPos;
39+
40+
/// <summary>
41+
/// Initializes a new instance of the <see cref="CURSORINFO" /> struct
42+
/// with the <see cref="cbSize" /> field initialized.
43+
/// </summary>
44+
/// <returns>
45+
/// An instance of the structure.
46+
/// </returns>
47+
public static CURSORINFO Create() => new CURSORINFO { cbSize = Marshal.SizeOf(typeof(CURSORINFO)) };
48+
}
49+
}
50+
}

src/User32/User32+CURSORINFOFlags.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright (c) All contributors. All rights reserved.
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
namespace PInvoke
5+
{
6+
/// <content>
7+
/// Contains the <see cref="CURSORINFOFlags"/> nested type.
8+
/// </content>
9+
public static partial class User32
10+
{
11+
/// <summary>
12+
/// Flags for the <see cref="CURSORINFO.flags" /> field.
13+
/// </summary>
14+
public enum CURSORINFOFlags
15+
{
16+
/// <summary>The cursor is hidden.</summary>
17+
CURSOR_HIDDEN = 0,
18+
19+
/// <summary>The cursor is showing.</summary>
20+
CURSOR_SHOWING = 1,
21+
22+
/// <summary>
23+
/// Windows 8: The cursor is suppressed. This flag indicates that the system is not drawing the cursor because the user is providing input through touch or pen instead of the mouse.
24+
/// </summary>
25+
CURSOR_SUPPRESSED = 2,
26+
}
27+
}
28+
}

src/User32/User32+Cursors.cs

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// Copyright (c) All contributors. All rights reserved.
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
namespace PInvoke
5+
{
6+
/// <content>
7+
/// Contains the <see cref="Cursors"/> nested type.
8+
/// </content>
9+
public static partial class User32
10+
{
11+
/// <summary>
12+
/// Represents system predefined cursors.
13+
/// </summary>
14+
public enum Cursors
15+
{
16+
/// <summary>Standard arrow and small hourglass</summary>
17+
IDC_APPSTARTING = 32650,
18+
19+
/// <summary>Standard arrow</summary>
20+
IDC_ARROW = 32512,
21+
22+
/// <summary>Crosshair</summary>
23+
IDC_CROSS = 32515,
24+
25+
/// <summary>Hand</summary>
26+
IDC_HAND = 32649,
27+
28+
/// <summary>Arrow and question mark</summary>
29+
IDC_HELP = 32651,
30+
31+
/// <summary>I-beam</summary>
32+
IDC_IBEAM = 32513,
33+
34+
/// <summary>Obsolete for applications marked version 4.0 or later.</summary>
35+
IDC_ICON = 32641,
36+
37+
/// <summary>Slashed circle</summary>
38+
IDC_NO = 32648,
39+
40+
/// <summary>Obsolete for applications marked version 4.0 or later. Use IDC_SIZEALL.</summary>
41+
IDC_SIZE = 32640,
42+
43+
/// <summary>Four-pointed arrow pointing north, south, east, and west</summary>
44+
IDC_SIZEALL = 32646,
45+
46+
/// <summary>Double-pointed arrow pointing northeast and southwest</summary>
47+
IDC_SIZENESW = 32643,
48+
49+
/// <summary>Double-pointed arrow pointing north and south</summary>
50+
IDC_SIZENS = 32645,
51+
52+
/// <summary>Double-pointed arrow pointing northwest and southeast</summary>
53+
IDC_SIZENWSE = 32642,
54+
55+
/// <summary>Double-pointed arrow pointing west and east</summary>
56+
IDC_SIZEWE = 32644,
57+
58+
/// <summary>Vertical arrow</summary>
59+
IDC_UPARROW = 32516,
60+
61+
/// <summary>Hourglass</summary>
62+
IDC_WAIT = 32514,
63+
}
64+
}
65+
}

src/User32/User32+ImageType.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright (c) All contributors. All rights reserved.
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
namespace PInvoke
5+
{
6+
/// <content>
7+
/// Contains the <see cref="ImageType"/> nested type.
8+
/// </content>
9+
public static partial class User32
10+
{
11+
/// <summary>
12+
/// Represents various image types.
13+
/// </summary>
14+
public enum ImageType : uint
15+
{
16+
/// <summary>
17+
/// Loads a bitmap.
18+
/// </summary>
19+
IMAGE_BITMAP = 0,
20+
21+
/// <summary>
22+
/// Loads an icon.
23+
/// </summary>
24+
IMAGE_ICON = 1,
25+
26+
/// <summary>
27+
/// Loads a cursor.
28+
/// </summary>
29+
IMAGE_CURSOR = 2,
30+
}
31+
}
32+
}

0 commit comments

Comments
 (0)