+        case wxCURSOR_IBEAM:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_TEXT
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_CROSS:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_MOVE
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_SIZENWSE:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_SIZENWSE
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_SIZENESW:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_SIZENESW
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_SIZEWE:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_SIZEWE
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_SIZENS:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_SIZENS
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_CHAR:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_ARROW
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_HAND:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)wxCURSOR_HAND
+                                                              );
+            break;
+
+        case wxCURSOR_BULLSEYE:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)wxCURSOR_BULLSEYE
+                                                              );
+            break;
+
+        case wxCURSOR_PENCIL:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)wxCURSOR_PENCIL
+                                                              );
+            break;
+
+        case wxCURSOR_MAGNIFIER:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)wxCURSOR_MAGNIFIER
+                                                              );
+            break;
+
+        case wxCURSOR_NO_ENTRY:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)wxCURSOR_NO_ENTRY
+                                                              );
+            break;
+
+        case wxCURSOR_LEFT_BUTTON:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_ARROW
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_RIGHT_BUTTON:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_ARROW
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_MIDDLE_BUTTON:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_ARROW
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_SIZING:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_SIZE
+                                                                   ,FALSE
+                                                                  );
+            break;
+
+        case wxCURSOR_WATCH:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)wxCURSOR_WATCH
+                                                              );
+            break;
+
+        case wxCURSOR_SPRAYCAN:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                              ,0
+                                                              ,(ULONG)WXCURSOR_ROLLER
+                                                             );
+            break;
+
+        case wxCURSOR_PAINT_BRUSH:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)WXCURSOR_PBRUSH
+                                                              );
+            break;
+
+        case wxCURSOR_POINT_LEFT:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)WXCURSOR_PLEFT
+                                                              );
+            break;
+
+        case wxCURSOR_POINT_RIGHT:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)WXCURSOR_PRIGHT
+                                                              );
+            break;
+
+        case wxCURSOR_QUESTION_ARROW:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)WXCURSOR_QARROW
+                                                              );
+            break;
+
+        case wxCURSOR_BLANK:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinLoadPointer( HWND_DESKTOP
+                                                               ,0
+                                                               ,(ULONG)WXCURSOR_BLANK
+                                                              );
+            break;
+
+        default:
+        case wxCURSOR_ARROW:
+            pRefData->m_hCursor = (WXHCURSOR) ::WinQuerySysPointer( HWND_DESKTOP
+                                                                   ,(ULONG)SPTR_ARROW
+                                                                   ,FALSE
+                                                                  );
+            break;
+    }
+    //
+    // No need to destroy the stock cursors
+    //
+    ((wxCursorRefData *)m_refData)->m_bDestroyCursor = FALSE;
+} // end of wxCursor::wxCursor