+ { true, NULL }, // wxCURSOR_NONE
+ { true, IDC_ARROW }, // wxCURSOR_ARROW
+ { false, _T("wxCURSOR_RIGHT_ARROW") }, // wxCURSOR_RIGHT_ARROW
+ { false, _T("wxCURSOR_BULLSEYE") }, // wxCURSOR_BULLSEYE
+ { true, IDC_ARROW }, // wxCURSOR_CHAR
+ { true, IDC_CROSS }, // wxCURSOR_CROSS
+ { false, _T("wxCURSOR_HAND") }, // wxCURSOR_HAND
+ { true, IDC_IBEAM }, // wxCURSOR_IBEAM
+ { true, IDC_ARROW }, // wxCURSOR_LEFT_BUTTON
+ { false, _T("wxCURSOR_MAGNIFIER") }, // wxCURSOR_MAGNIFIER
+ { true, IDC_ARROW }, // wxCURSOR_MIDDLE_BUTTON
+ { true, IDC_NO }, // wxCURSOR_NO_ENTRY
+ { false, _T("wxCURSOR_PAINT_BRUSH") }, // wxCURSOR_PAINT_BRUSH
+ { false, _T("wxCURSOR_PENCIL") }, // wxCURSOR_PENCIL
+ { false, _T("wxCURSOR_POINT_LEFT") }, // wxCURSOR_POINT_LEFT
+ { false, _T("wxCURSOR_POINT_RIGHT") }, // wxCURSOR_POINT_RIGHT
+ { true, IDC_HELP }, // wxCURSOR_QUESTION_ARROW
+ { true, IDC_ARROW }, // wxCURSOR_RIGHT_BUTTON
+ { true, IDC_SIZENESW }, // wxCURSOR_SIZENESW
+ { true, IDC_SIZENS }, // wxCURSOR_SIZENS
+ { true, IDC_SIZENWSE }, // wxCURSOR_SIZENWSE
+ { true, IDC_SIZEWE }, // wxCURSOR_SIZEWE
+ { true, IDC_SIZEALL }, // wxCURSOR_SIZING
+ { false, _T("wxCURSOR_SPRAYCAN") }, // wxCURSOR_SPRAYCAN
+ { true, IDC_WAIT }, // wxCURSOR_WAIT
+ { true, IDC_WAIT }, // wxCURSOR_WATCH
+ { false, _T("wxCURSOR_BLANK") }, // wxCURSOR_BLANK
+ { true, IDC_APPSTARTING }, // wxCURSOR_ARROWWAIT
+
+ // no entry for wxCURSOR_MAX
+ };
+
+ wxCOMPILE_TIME_ASSERT( WXSIZEOF(stdCursors) == wxCURSOR_MAX,
+ CursorsIdArrayMismatch );
+
+ wxCHECK_RET( idCursor > 0 && (size_t)idCursor < WXSIZEOF(stdCursors),
+ _T("invalid cursor id in wxCursor() ctor") );
+
+ const StdCursor& stdCursor = stdCursors[idCursor];
+
+ HCURSOR hcursor = ::LoadCursor(stdCursor.isStd ? NULL : wxGetInstance(),
+ stdCursor.name);
+
+ if ( !hcursor )