X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83f96286bb4ef34147d7f467a0f0a4a4fc27af2d..8fbdfa4faf61ecc4177d9952d3f3718cf4514ae6:/src/msw/cursor.cpp diff --git a/src/msw/cursor.cpp b/src/msw/cursor.cpp index 892ca4ee0f..19063594b3 100644 --- a/src/msw/cursor.cpp +++ b/src/msw/cursor.cpp @@ -39,7 +39,9 @@ #include "wx/module.h" #include "wx/msw/private.h" +#ifndef __WXMICROWIN__ #include "wx/msw/dib.h" +#endif #if wxUSE_RESOURCE_LOADING_IN_MSW #include "wx/msw/curico.h" @@ -101,8 +103,10 @@ void wxCursorRefData::Free() { if ( m_hCursor ) { +#ifndef __WXMICROWIN__ if ( m_destroyCursor ) ::DestroyCursor((HCURSOR)m_hCursor); +#endif m_hCursor = 0; } @@ -128,11 +132,12 @@ wxCursor::wxCursor(const wxString& cursor_file, long flags, int hotSpotX, int hotSpotY) { +#ifdef __WXMICROWIN__ + m_refData = NULL; +#else wxCursorRefData *refData = new wxCursorRefData; m_refData = refData; - refData->m_destroyCursor = FALSE; - if (flags == wxBITMAP_TYPE_CUR_RESOURCE) { #ifdef __WIN95__ @@ -140,6 +145,7 @@ wxCursor::wxCursor(const wxString& cursor_file, #else refData->m_hCursor = (WXHCURSOR) LoadCursor(wxGetInstance(), cursor_file); #endif + refData->m_destroyCursor = FALSE; } else if (flags == wxBITMAP_TYPE_CUR) { @@ -148,7 +154,6 @@ wxCursor::wxCursor(const wxString& cursor_file, #else #if wxUSE_RESOURCE_LOADING_IN_MSW refData->m_hCursor = (WXHCURSOR) ReadCursorFile(WXSTRINGCAST cursor_file, wxGetInstance(), &refData->m_width, &refData->m_height); - refData->m_destroyCursor = TRUE; #endif #endif } @@ -156,7 +161,6 @@ wxCursor::wxCursor(const wxString& cursor_file, { #if wxUSE_RESOURCE_LOADING_IN_MSW refData->m_hCursor = (WXHCURSOR) IconToCursor(WXSTRINGCAST cursor_file, wxGetInstance(), hotSpotX, hotSpotY, &refData->m_width, &refData->m_height); - refData->m_destroyCursor = TRUE; #endif } else if (flags == wxBITMAP_TYPE_BMP) @@ -173,7 +177,6 @@ wxCursor::wxCursor(const wxString& cursor_file, pnt.x = hotSpotX; pnt.y = hotSpotY; refData->m_hCursor = (WXHCURSOR) MakeCursorFromBitmap(wxGetInstance(), hBitmap, &pnt); - refData->m_destroyCursor = TRUE; DeleteObject(hBitmap); #endif } @@ -181,19 +184,26 @@ wxCursor::wxCursor(const wxString& cursor_file, #if WXWIN_COMPATIBILITY_2 refData->SetOk(); #endif // WXWIN_COMPATIBILITY_2 + +#endif } // Cursors by stock number wxCursor::wxCursor(int cursor_type) { +#ifdef __WXMICROWIN__ + m_refData = NULL; +#else wxCursorRefData *refData = new wxCursorRefData; m_refData = refData; switch (cursor_type) { case wxCURSOR_ARROWWAIT: +#ifndef __WIN16__ refData->m_hCursor = (WXHCURSOR) LoadCursor((HINSTANCE) NULL, IDC_APPSTARTING); break; +#endif case wxCURSOR_WAIT: refData->m_hCursor = (WXHCURSOR) LoadCursor((HINSTANCE) NULL, IDC_WAIT); break; @@ -306,6 +316,7 @@ wxCursor::wxCursor(int cursor_type) refData->m_hCursor = (WXHCURSOR) LoadCursor((HINSTANCE) NULL, IDC_ARROW); break; } +#endif } wxCursor::~wxCursor() @@ -325,7 +336,9 @@ void wxSetCursor(const wxCursor& cursor) { if ( cursor.Ok() ) { +#ifndef __WXMICROWIN__ ::SetCursor(GetHcursorOf(cursor)); +#endif if ( gs_globalCursor ) *gs_globalCursor = cursor;