]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/menu.cpp
fix for sf bug 1671804
[wxWidgets.git] / src / msw / menu.cpp
index 0c2a54e3a908758ce97ab111bd814e973c5cabd3..9a235b60711d2282983dfad724b944eed62d4f25 100644 (file)
 // other standard headers
 #include <string.h>
 
-#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<MENUITEMINFO> 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 )