Solved

ShowCursor

Posted on 1997-03-12
1
232 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

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

This article surveys and compares options for encoding and decoding base64 data.  It includes source code in C++ as well as examples of how to use standard Windows API functions for these tasks. We'll look at the algorithms — how encoding and decodi…
A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
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…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…

726 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