   How to hide the mouse cursor with DirectX 9.0c
  Hello!I have two methods in my program  which can be used to switch between a fullscreen and a windowed mode. Of course I dont want to see a cursor when I switch to fullscreen, so I am trying to hide it.Here is my try:// Switches the device to fullscreen mode if possible.// Also changes the appearance of the window.   void GraphicDevice::SwitchToFullScreenMode()   {  if (DxPresentParameters.Windowed == true)  { // Change window styleSetWindowLong(testhwnd, GWL_STYLE, WS_POPUPWINDOW);ptrD3DDevice->ShowCursor(false);// ToDo: gueltige aufloesung waehlenInitPresentParams(640,480,false); Reset();  }   }But the ShowCursor call has no effect, I still can see the cursor. In the msdn I found the following:case WM_SETCURSOR:// Turn off window cursorSetCursor( NULL );    m_pd3dDevice->ShowCursor( TRUE );    return TRUE; // prevent Windows from setting cursor to window class cursor    break;If I use the SetCursor(0)-method I have no cursor when I start the program and I cant show the cursor with the Device->ShowCursor-method.So here are my questions:How can I hide the cursor?Is there any possibility to hide the cursor not in theLRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )?I want to hide it whenever and whereever I want :-)GreetingsDelryn   
  Is it necessary to use the directx device to set whether the cursor is visible or not?For my cursor operation, I use:ShowCursor(bool state);SetCursorPos(int X, int Y);which are windows function.Wonder if it helps?   ;  Yes that works, but why do the following directx functions not work?ShowCursorSetCursorPropertiesThey have no effect :-/How can I change the mouse cursor without the HRESULT IDirect3DDevice9::SetCursorProperties(  UINT XHotSpot,  UINT YHotSpot,  IDirect3DSurface9 * pCursorBitmap);function?   ;  The D3D cursor functions are for the D3D cursor, not the windows cursor. You can optionally use a D3D cursor instead of the windows one. See the remarks for SetCursorProperties():Quote:An operating system cursor is created and used under either of these conditions:The hardware has set D3DCURSORCAPS_COLOR (see D3DCURSORCAPS), and the cursor size is 32x32 (which is the cursor size in the operating system).The application is running in windowed mode.Otherwise, DirectX uses an emulated cursor. An application uses IDirect3DDevice9::SetCursorPosition to move an emulated cursor to follow mouse movement.It is recommended for applications to always trap WM_MOUSEMOVE events and call DXSetCursorPosition.Direct3D cursor functions use either GDI cursor or software emulation, depending on the hardware. Users typically want to respond to a WM_SETCURSOR message. For example, they might want to write the message handler as follows:case WM_SETCURSOR:// Turn off window cursor. SetCursor( NULL );m_pd3dDevice->ShowCursor( TRUE );return TRUE; // Prevent Windows from setting cursor to window class cursor.break;Or, users might want to call the IDirect3DDevice9::SetCursorProperties method if they want to change the cursor. The application can determine what hardware support is available for cursors by examining appropriate members of the D3DCAPS9 structure. Typically, hardware supports only 32x32 cursors and, when windowed, the system might support only 32x32 cursors. In this case, IDirect3DDevice9::SetCursorProperties still succeeds but the cursor might be reduced to that size. The hot spot is scaled appropriately.The cursor does not survive when the device is lost. This method must be called after the device is reset.