]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/winundef.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / msw / winundef.h
index ece9c4c92ab143b88a24bef0a8d393a9f3b24bdf..92476738763c424c7c02669b501ecc7e636180a6 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by:
 // Created:     16.05.99
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows team
+// Copyright:   (c) wxWidgets team
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
     }
 #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
 
     inline HWND APIENTRY FindText(LPFINDREPLACE lpfindreplace)
     {
-        #ifdef UNICODE
+        #ifdef _UNICODE
             return FindTextW(lpfindreplace);
         #else
             return FindTextA(lpfindreplace);
-        #endif // !UNICODE
+        #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
-   #if defined( __GNUG__ ) && !wxCHECK_W32API_VERSION( 0, 5 )
-      #define DOCINFOW DOCINFO
-      #define DOCINFOA DOCINFO
+
+   // Work around a bug in very old MinGW headers that didn't define DOCINFOW
+   // and DOCINFOA but only DOCINFO in both ANSI and Unicode.
+   #if defined( __GNUG__ )
+      #if !wxCHECK_W32API_VERSION( 0, 5 )
+        #define DOCINFOW DOCINFO
+        #define DOCINFOA DOCINFO
+      #endif
    #endif
+
    #ifdef _UNICODE
    inline int StartDoc(HDC h, CONST DOCINFOW* info)
    {
 
 #ifdef IsMaximized
     #undef IsMaximized
-    inline BOOL IsMaximized(HWND hwnd)
+    inline BOOL IsMaximized(HWND WXUNUSED_IN_WINCE(hwnd))
     {
 #ifdef __WXWINCE__
         return FALSE;
 
 #ifdef GetFirstChild
     #undef GetFirstChild
-    inline HWND GetFirstChild(HWND hwnd)
+    inline HWND GetFirstChild(HWND WXUNUSED_IN_WINCE(hwnd))
     {
 #ifdef __WXWINCE__
         return 0;
     }
 #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
+
 // GetPrevSibling
 
 #ifdef GetPrevSibling
 
 #if defined(__WXWINCE__) && defined(DrawIcon) //#ifdef DrawIcon
     #undef DrawIcon
-    inline BOOL DrawIcon(HDC hdc, int x, int y, HICON hicon) 
+    inline BOOL DrawIcon(HDC hdc, int x, int y, HICON hicon)
     {
         return DrawIconEx(hdc,x,y,hicon,0,0,0,NULL, DI_NORMAL) ;
     }