• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 247
  • Last Modified:

ShowCursor

In my 16-bit application I use ShowCursor() to hide/show the mouse. This works with Win 3.1, but not when run under Win 95. Is there simple solution.
0
hanpohj
Asked:
hanpohj
1 Solution
 
amartin030297Commented:
Use SetCursor is your WM_INITDIALOG (or WM_CREATE), and again in WM_DESTROY where:
Whenever you want the cursor (in your window) to be hidden, you use HCURSOR oldCursor=SetCursor( NULL );
later to turn the original cursor back on you do: SetCursor(oldCursor);

If you wnt to do this system-wide you can use SetSystemCursor (I included the help for that function below).. thus the effect is accross ALL windows, not just your application's window.

                 -- Aaron

---------CUT HERE-----------------------



The SetCursor function establishes the cursor shape.

HCURSOR SetCursor( HCURSOR hCursor // handle of cursor );

Parameters

hCursor

Identifies 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 of 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.


--------ALSO----------------------------------
The SetSystemCursor function replaces the contents of the system cursor specified by id with the contents of the cursor specified by hcur, and then destroys hcur. This function lets an application customize the system cursors.

BOOL SetSystemCursor ( HCURSOR hcur,
// set specified system cursor to this cursor’s contents,
// then destroy this
DWORD id )
// system cursor specified by its identifier
;



Parameters

hcur

Handle to a cursor. The function replaces the contents of the system cursor specified by id with the contents of the cursor handled by hcur. Then the function destroys hcur by calling DestroyCursor(hCursor).

id

A system cursor identifier. The function replaces the contents of this system cursor with the contents of the cursor handled by hcur.

Following is a list of system cursor identifiers:


Value



Description

OCR_NORMAL



normal arrow cursor

OCR_IBEAM



I-beam cursor

OCR_WAIT



larger hourglass cursor

OCR_CROSS



crosshair cursor

OCR_UP



up arrow cursor

OCR_SIZE



size cursor

OCR_ICON



icon cursor

OCR_SIZENWSE



NW to SE sizing cursor

OCR_SIZENESW



NE to SW sizing cursor

OCR_SIZEWE



horizontal sizing cursor

OCR_SIZENS



vertical sizing cursor

OCR_SIZEALL



horizontal and vertical sizing cursor

OCR_SIZENO



international no symbol cursor

OCR_APPSTARTING



smaller hourglass with arrow cursor



Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now