]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/winundef.h
Added private wxMenu::MSWNewFromHMENU() method.
[wxWidgets.git] / include / wx / msw / winundef.h
index e580f2465070e6e03dd274880b0da3bf979f3a88..41cea6dc9025d97d7eae68c2b75939396f43b1b9 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by:
 // Created:     16.05.99
 // RCS-ID:      $Id$
 // Modified by:
 // Created:     16.05.99
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows team
+// Copyright:   (c) wxWidgets team
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // elsewhere because the functions, unlike the macros, respect the scope.
 // ----------------------------------------------------------------------------
 
 // elsewhere because the functions, unlike the macros, respect the scope.
 // ----------------------------------------------------------------------------
 
+// CreateDialog
+
+#if defined(CreateDialog)
+    #undef CreateDialog
+
+    inline HWND CreateDialog(HINSTANCE hInstance,
+                             LPCTSTR pTemplate,
+                             HWND hwndParent,
+                             DLGPROC pDlgProc)
+    {
+        #ifdef _UNICODE
+            return CreateDialogW(hInstance, pTemplate, hwndParent, pDlgProc);
+        #else
+            return CreateDialogA(hInstance, pTemplate, hwndParent, pDlgProc);
+        #endif
+    }
+#endif
+
+// CreateFont
+
+#ifdef CreateFont
+    #undef CreateFont
+
+    inline HFONT CreateFont(int height,
+                            int width,
+                            int escapement,
+                            int orientation,
+                            int weight,
+                            DWORD italic,
+                            DWORD underline,
+                            DWORD strikeout,
+                            DWORD charset,
+                            DWORD outprecision,
+                            DWORD clipprecision,
+                            DWORD quality,
+                            DWORD family,
+                            LPCTSTR facename)
+    {
+        #ifdef _UNICODE
+            return CreateFontW(height, width, escapement, orientation,
+                               weight, italic, underline, strikeout, charset,
+                               outprecision, clipprecision, quality,
+                               family, facename);
+        #else
+            return CreateFontA(height, width, escapement, orientation,
+                               weight, italic, underline, strikeout, charset,
+                               outprecision, clipprecision, quality,
+                               family, facename);
+        #endif
+    }
+#endif // CreateFont
+
+// CreateWindow
+
+#if defined(CreateWindow)
+    #undef CreateWindow
+
+    inline HWND CreateWindow(LPCTSTR lpClassName,
+                             LPCTSTR lpWndClass,
+                             DWORD dwStyle,
+                             int x, int y, int w, int h,
+                             HWND hWndParent,
+                             HMENU hMenu,
+                             HINSTANCE hInstance,
+                             LPVOID lpParam)
+    {
+        #ifdef _UNICODE
+            return CreateWindowW(lpClassName, lpWndClass, dwStyle, x, y, w, h,
+                                 hWndParent, hMenu, hInstance, lpParam);
+        #else
+            return CreateWindowA(lpClassName, lpWndClass, dwStyle, x, y, w, h,
+                                 hWndParent, hMenu, hInstance, lpParam);
+        #endif
+    }
+#endif
+
+// LoadMenu
+
+#ifdef LoadMenu
+    #undef LoadMenu
+
+    inline HMENU LoadMenu(HINSTANCE instance, LPCTSTR name)
+    {
+        #ifdef _UNICODE
+            return LoadMenuW(instance, name);
+        #else
+            return LoadMenuA(instance, name);
+        #endif
+    }
+#endif
+
+// FindText
+
+#ifdef FindText
+    #undef FindText
+
+    inline HWND APIENTRY FindText(LPFINDREPLACE lpfindreplace)
+    {
+        #ifdef _UNICODE
+            return FindTextW(lpfindreplace);
+        #else
+            return FindTextA(lpfindreplace);
+        #endif
+    }
+#endif
+
 // GetCharWidth
 
 #ifdef GetCharWidth
 // GetCharWidth
 
 #ifdef GetCharWidth
    #endif
 #endif
 
    #endif
 #endif
 
+// PlaySound
+
+#ifdef PlaySound
+   #undef PlaySound
+   #ifdef _UNICODE
+   inline BOOL PlaySound(LPCWSTR pszSound, HMODULE hMod, DWORD fdwSound)
+   {
+      return PlaySoundW(pszSound, hMod, fdwSound);
+   }
+   #else
+   inline BOOL PlaySound(LPCSTR pszSound, HMODULE hMod, DWORD fdwSound)
+   {
+      return PlaySoundA(pszSound, hMod, fdwSound);
+   }
+   #endif
+#endif
+
 // GetClassName
 
 #ifdef GetClassName
 // GetClassName
 
 #ifdef GetClassName
    #endif
 #endif
 
    #endif
 #endif
 
+
+/*
+  When this file is included, sometimes the wxCHECK_W32API_VERSION macro
+  is undefined. With for example CodeWarrior this gives problems with
+  the following code:
+  #if 0 && wxCHECK_W32API_VERSION( 0, 5 )
+  Because CodeWarrior does macro expansion before test evaluation.
+  We define wxCHECK_W32API_VERSION here if it's undefined.
+*/
+#if !defined(__GNUG__) && !defined(wxCHECK_W32API_VERSION)
+    #define wxCHECK_W32API_VERSION(maj, min) (0)
+#endif
+
 // StartDoc
 
 #ifdef StartDoc
    #undef StartDoc
 // StartDoc
 
 #ifdef StartDoc
    #undef StartDoc
-   #ifdef __GNUG__
+   #if defined( __GNUG__ ) && !wxCHECK_W32API_VERSION( 0, 5 )
       #define DOCINFOW DOCINFO
       #define DOCINFOA DOCINFO
    #endif
    #ifdef _UNICODE
    inline int StartDoc(HDC h, CONST DOCINFOW* info)
    {
       #define DOCINFOW DOCINFO
       #define DOCINFOA DOCINFO
    #endif
    #ifdef _UNICODE
    inline int StartDoc(HDC h, CONST DOCINFOW* info)
    {
-      return StartDocW(h, info);
+      return StartDocW(h, (DOCINFOW*) info);
    }
    #else
    inline int StartDoc(HDC h, CONST DOCINFOA* info)
    {
    }
    #else
    inline int StartDoc(HDC h, CONST DOCINFOA* info)
    {
-      return StartDocA(h, info);
+      return StartDocA(h, (DOCINFOA*) info);
    }
    #endif
 #endif
    }
    #endif
 #endif
    }
 #endif
 
    }
 #endif
 
+// LoadIcon
+#ifdef LoadIcon
+    #undef LoadIcon
+    inline HICON LoadIcon(HINSTANCE hInstance, LPCTSTR lpIconName)
+    {
+        #ifdef _UNICODE
+            return LoadIconW(hInstance, lpIconName);
+        #else // ANSI
+            return LoadIconA(hInstance, lpIconName);
+        #endif // Unicode/ANSI
+    }
+#endif // LoadIcon
+
+// LoadBitmap
+#ifdef LoadBitmap
+    #undef LoadBitmap
+    inline HBITMAP LoadBitmap(HINSTANCE hInstance, LPCTSTR lpBitmapName)
+    {
+        #ifdef _UNICODE
+            return LoadBitmapW(hInstance, lpBitmapName);
+        #else // ANSI
+            return LoadBitmapA(hInstance, lpBitmapName);
+        #endif // Unicode/ANSI
+    }
+#endif // LoadBitmap
+
 // LoadLibrary
 
 #ifdef LoadLibrary
     #undef LoadLibrary
 // LoadLibrary
 
 #ifdef LoadLibrary
     #undef LoadLibrary
-    inline HINSTANCE LoadLibrary(LPCTSTR lpLibFileName)
-    {
     #ifdef _UNICODE
     #ifdef _UNICODE
+    inline HINSTANCE LoadLibrary(LPCWSTR lpLibFileName)
+    {
         return LoadLibraryW(lpLibFileName);
         return LoadLibraryW(lpLibFileName);
+    }
     #else
     #else
+    inline HINSTANCE LoadLibrary(LPCSTR lpLibFileName)
+    {
         return LoadLibraryA(lpLibFileName);
         return LoadLibraryA(lpLibFileName);
-    #endif
     }
     }
+    #endif
 #endif
 
 // FindResource
 #ifdef FindResource
     #undef FindResource
 #endif
 
 // FindResource
 #ifdef FindResource
     #undef FindResource
-    inline HRSRC FindResource(HMODULE hModule, LPCTSTR lpName, LPCTSTR lpType)
-    {
     #ifdef _UNICODE
     #ifdef _UNICODE
+    inline HRSRC FindResource(HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType)
+    {
         return FindResourceW(hModule, lpName, lpType);
         return FindResourceW(hModule, lpName, lpType);
+    }
     #else
     #else
+    inline HRSRC FindResource(HMODULE hModule, LPCSTR lpName, LPCSTR lpType)
+    {
         return FindResourceA(hModule, lpName, lpType);
         return FindResourceA(hModule, lpName, lpType);
-    #endif
     }
     }
+    #endif
 #endif
 
 // IsMaximized
 
 #ifdef IsMaximized
     #undef IsMaximized
 #endif
 
 // IsMaximized
 
 #ifdef IsMaximized
     #undef IsMaximized
-    inline BOOL IsMaximized(HWND hwnd)
+    inline BOOL IsMaximized(HWND WXUNUSED_IN_WINCE(hwnd))
     {
     {
+#ifdef __WXWINCE__
+        return FALSE;
+#else
         return IsZoomed(hwnd);
         return IsZoomed(hwnd);
+#endif
     }
 #endif
 
     }
 #endif
 
 
 #ifdef GetFirstChild
     #undef GetFirstChild
 
 #ifdef GetFirstChild
     #undef GetFirstChild
-    inline HWND GetFirstChild(HWND hwnd)
+    inline HWND GetFirstChild(HWND WXUNUSED_IN_WINCE(hwnd))
     {
     {
+#ifdef __WXWINCE__
+        return 0;
+#else
         return GetTopWindow(hwnd);
         return GetTopWindow(hwnd);
+#endif
+    }
+#endif
+
+// GetFirstSibling
+
+#ifdef GetFirstSibling
+    #undef GetFirstSibling
+    inline HWND GetFirstSibling(HWND hwnd)
+    {
+        return GetWindow(hwnd,GW_HWNDFIRST);
+    }
+#endif
+
+// GetLastSibling
+
+#ifdef GetLastSibling
+    #undef GetLastSibling
+    inline HWND GetLastSibling(HWND hwnd)
+    {
+        return GetWindow(hwnd,GW_HWNDLAST);
     }
 #endif
 
     }
 #endif
 
 
 // For WINE
 
 
 // For WINE
 
-#if defined(GetWindowStyle) || defined(__WXWINE__)
+#if defined(GetWindowStyle)
   #undef GetWindowStyle
 #endif
 
   #undef GetWindowStyle
 #endif
 
    }
 #endif
 
    }
 #endif
 
+
+#ifdef Yield
+    #undef Yield
+#endif
+
+
+#if defined(__WXWINCE__) && defined(DrawIcon) //#ifdef DrawIcon
+    #undef DrawIcon
+    inline BOOL DrawIcon(HDC hdc, int x, int y, HICON hicon)
+    {
+        return DrawIconEx(hdc,x,y,hicon,0,0,0,NULL, DI_NORMAL) ;
+    }
+#endif
+
+
 // GetWindowProc
 //ifdef GetWindowProc
 //   #undef GetWindowProc
 // GetWindowProc
 //ifdef GetWindowProc
 //   #undef GetWindowProc