]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/winundef.h
1. wxChoice and wxComboBox support client data under MSW
[wxWidgets.git] / include / wx / msw / winundef.h
index 25bcb7d67ed6a1dba616b5a9dca4becf384b5440..6af2f389ccb674df609449f3f2dc6f54df5f405a 100644 (file)
@@ -9,10 +9,21 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+/* THIS SHOULD NOT BE USED since you might include it once e.g. in window.h,
+ * then again _AFTER_ you've included windows.h, in which case it won't work
+ * a 2nd time -- JACS
 #ifndef _WX_WINUNDEF_H_
 #define _WX_WINUNDEF_H_
+ */
 
-// windows.h #defines the following identifiers which are also used in wxWin
+// ----------------------------------------------------------------------------
+// windows.h #defines the following identifiers which are also used in wxWin so
+// we replace these symbols with the corresponding inline functions and
+// undefine the macro.
+//
+// This looks quite ugly here but allows us to write clear (and correct!) code
+// elsewhere because the functions, unlike the macros, respect the scope.
+// ----------------------------------------------------------------------------
 
 // GetCharWidth
 
 
 #ifdef StartDoc
    #undef StartDoc
-   #ifdef __MINGW32__
+   #ifdef __GNUWIN32__
       #define DOCINFOW DOCINFO
       #define DOCINFOA DOCINFO
    #endif
    }
 #endif
 
+// GetMessage
 
 #ifdef GetMessage
    #undef GetMessage
    }
 #endif
 
+// LoadLibrary
+
+#ifdef LoadLibrary
+    #undef LoadLibrary
+    inline HINSTANCE LoadLibrary(LPCTSTR lpLibFileName)
+    {
+    #ifdef _UNICODE
+        return LoadLibraryW(lpLibFileName);
+    #else
+        return LoadLibraryA(lpLibFileName);
+    #endif
+    }
+#endif
+
+// For WINE
+
+#if defined(GetWindowStyle) || defined(__WXWINE__)
+  #undef GetWindowStyle
+#endif
 
 // For ming and cygwin
 
 //    #undef GetNextChild
 //endif
 
-#endif // _WX_WINUNDEF_H_
+// #endif // _WX_WINUNDEF_H_
+