From: Chris Elliott Date: Wed, 7 Mar 2007 09:31:30 +0000 (+0000) Subject: fix for sf bug 1671804 X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a0369cb3677fcca756d0a85d99cb8c9af2425bc9?ds=inline fix for sf bug 1671804 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index 0c2a54e3a9..9a235b6071 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -59,7 +59,25 @@ // other standard headers #include -#if wxUSE_OWNER_DRAWN && defined(MIIM_BITMAP) +//VC6 needs these defining, though they are in winuser.h +#ifndef MIIM_BITMAP +#define MIIM_STRING 0x00000040 +#define MIIM_BITMAP 0x00000080 +#define MIIM_FTYPE 0x00000100 +#define HBMMENU_CALLBACK ((HBITMAP) -1) +typedef struct tagMENUINFO +{ + DWORD cbSize; + DWORD fMask; + DWORD dwStyle; + UINT cyMax; + HBRUSH hbrBack; + DWORD dwContextHelpID; + DWORD dwMenuData; +} MENUINFO, FAR *LPMENUINFO; +#endif + +#if wxUSE_OWNER_DRAWN #include "wx/dynlib.h" #endif @@ -433,16 +451,14 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) !pItem->GetBackgroundColour().Ok() && !pItem->GetFont().Ok() ) { - // try to use InsertMenuItem() as it's guaranteed to look correct + // try to use InsertMenuItem() as it's guaranteed to look correct // while our owner-drawn code is not - - // first compile-time check -#if defined(MIIM_BITMAP) && (_WIN32_WINNT >= 0x0500) +#ifndef __DMC__ + // DMC at march 2007 doesn't have HBITMAP hbmpItem tagMENUITEMINFOA /W + // MIIM_BITMAP only works under WinME/2000+ WinStruct mii; - - // now run-time one: MIIM_BITMAP only works under WinME/2000+ if ( wxGetWinVersion() >= wxWinVersion_98 ) - { + { mii.fMask = MIIM_STRING | MIIM_DATA | MIIM_BITMAP; if ( pItem->IsCheckable() ) { @@ -512,7 +528,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) pItem->ResetOwnerDrawn(); } } -#endif // MIIM_BITMAP +#endif // __DMC__ } if ( !ok )