Solved

ShowCursor

Posted on 1997-03-12
1
222 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
Comment Utility
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

This article shows how to make a Windows 7 gadget that extends its U/I with a flyout panel -- a window that pops out next to the gadget.  The example gadget shows several additional techniques:  How to automatically resize a gadget or flyout panel t…
With most software applications trying to cater to multiple user needs nowadays, the focus is to make them as configurable as possible. For e.g., when creating Silverlight applications which will connect to WCF services, the service end point usuall…
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…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

744 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