Solved

ShowCursor

Posted on 1997-03-12
1
225 Views
Last Modified: 2013-12-03
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
Comment
Question by:hanpohj
1 Comment
 
LVL 2

Accepted Solution

by:
amartin030297 earned 25 total points
ID: 1298727
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how to add a user-defined command button to the Windows 7 Explorer toolbar.  In the previous article (http://www.experts-exchange.com/A_2172.html), we saw how to put the Delete button back there where it belongs.  "Delete" is …
This article describes a technique for converting RTF (Rich Text Format) data to HTML and provides C++ source that does it all in just a few lines of code. Although RTF is coming to be considered a "legacy" format, it is still in common use... po…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now