Capter03_01(연습문제)
SetCursor
The SetCursor function establishes the cursor shape.
HCURSOR SetCursor(
HCURSOR hCursor // handle to cursor
);
Parameters
- hCursor
- Handle to the cursor. The cursor must have been created by the CreateCursor or loaded by the LoadCursor or LoadImage function. If this parameter is
NULL, the cursor is removed from the screen.
Windows 95: The width and height of the cursor must be the values returned by the GetSystemMetrics function for SM_CXCURSOR and SM_CYCURSOR. In addition, the cursor bit depth must match the bit depth of the display or the cursor must be monochrome.
Return Values
The return value is the handle to the previous cursor, if there was one.
If there was no previous cursor, the return value is NULL.
Remarks
The cursor is set only if the new cursor is different from the previous cursor; otherwise, the function returns immediately.
The cursor is a shared resource. A window should set the cursor shape only when the cursor is in its client area or when the window is capturing mouse input. In systems without a mouse, the window should restore the previous cursor before the cursor leaves the client area or before it relinquishes control to another window.
If your application must set the cursor while it is in a window, make sure the class cursor for the specified window's class is set to NULL. If the class cursor is not NULL, the system restores the class cursor each time the mouse is moved.
The cursor is not shown on the screen if the internal cursor display count is less than zero. This occurs if the application uses the ShowCursor function to hide the cursor more times than to show the cursor.
Windows CE: Use the cursor component when targeting a platform that does not support mouse cursors. The only cursor this component supports is the wait cursor. Use the following code to set the wait cursor:
SetCursor(LoadCursor(NULL, IDC_WAIT));
Use the mcursor component when targeting a platform that does support mouse cursors. This component does not support color cursors.
QuickInfo
Windows NT: Requires version 3.1 or later.
Windows:
Requires Windows 95 or later.
Windows CE: Requires version 1.0
or later.
Header: Declared in winuser.h.
Import Library:
Use user32.lib.
See Also
Cursors Overview, Cursor Functions, CreateCursor, GetCursor,
GetSystemMetrics, LoadCursor, LoadImage, SetCursorPos, ShowCursor
LoadCursor
The LoadCursor function loads the specified cursor resource from the executable (.EXE) file associated with an application instance.
This function has been superseded by the LoadImage function
HCURSOR LoadCursor(
HINSTANCE hInstance, // handle to application instance
LPCTSTR lpCursorName // name string or cursor resource identifier
);
Parameters
- hInstance
- Handle to an instance of the module whose executable file contains the cursor to be loaded.
- lpCursorName
- Pointer to a null-terminated string that contains the name of the cursor
resource to be loaded. Alternatively, this parameter can consist of the resource
identifier in the low-order word and zero in the high-order word. The MAKEINTRESOURCE macro can also be used to
create this value.
To use one of the Win32 predefined cursors, the application must set the hInstance parameter to NULL and the lpCursorName parameter to one the following values:
Value Description IDC_APPSTARTING Standard arrow and small hourglass IDC_ARROW Standard arrow IDC_CROSS Crosshair IDC_HAND Windows NT 5.0 and later: Hand IDC_HELP Arrow and question mark IDC_IBEAM I-beam IDC_ICON Obsolete for applications marked version 4.0 or later. IDC_NO Slashed circle IDC_SIZE Obsolete for applications marked version 4.0 or later. Use IDC_SIZEALL. IDC_SIZEALL Four-pointed arrow pointing north, south, east, and west IDC_SIZENESW Double-pointed arrow pointing northeast and southwest IDC_SIZENS Double-pointed arrow pointing north and south IDC_SIZENWSE Double-pointed arrow pointing northwest and southeast IDC_SIZEWE Double-pointed arrow pointing west and east IDC_UPARROW Vertical arrow IDC_WAIT Hourglass
Return Values
If the function succeeds, the return value is the handle to the newly loaded cursor.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
Remarks
The LoadCursor function loads the cursor resource only if it has not been loaded; otherwise, it retrieves the handle to the existing resource. This function returns a valid cursor handle only if the lpCursorName parameter points to a cursor resource. If lpCursorName points to any type of resource other than a cursor (such as an icon), the return value is not NULL, even though it is not a valid cursor handle.
The LoadCursor function searches the cursor resource most appropriate for the cursor for the current display device. The cursor resource can be a color or monochrome bitmap.
Windows CE: Use the cursor component when targeting a platform that does not support mouse cursors. The only cursor this component supports is the wait cursor (IDC_WAIT). Use the LoadCursor function in conjunction with the SetCursor function to set the wait cursor.
SetCursor(LoadCursor(NULL, IDC_WAIT));
Use the mcursor component when targeting a platform that does support mouse cursors. This component supports the LoadCursor function the same way Windows desktop platforms do, except that it only supports monochrome cursors. Windows CE does not support color cursors. An attempt to load a color cursor will have unpredictable results.
See Also
Cursors Overview, Cursor Functions, LoadImage, MAKEINTRESOURCE, SetCursor, SetCursorPos, ShowCursor