Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

ShowCursor

Posted on 1997-03-12
1
Medium Priority
?
235 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 50 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

Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

Question has a verified solution.

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

This tutorial is about how to put some of your C++ program's functionality into a standard DLL, and how to make working with the EXE and the DLL simple and seamless.   We'll be using Microsoft Visual Studio 2008 and we will cut out the noise; that i…
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
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…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

618 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