]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/private.h
Do not #undef wxNEED_PRINTF_CONVERSION if wxVsnprintf_ has not been defined
[wxWidgets.git] / include / wx / msw / private.h
index ebd628a9dfd86ef0ba9af4f497d82bbc67b5412c..528a5ba437f8577245d88bed8e8e7825de837311 100644 (file)
@@ -299,14 +299,11 @@ inline bool wxIsCtrlDown()
 inline RECT wxGetWindowRect(HWND hwnd)
 {
     RECT rect;
-#ifdef __WIN16__
-    ::GetWindowRect(hwnd, &rect);
-#else // Win32
+
     if ( !::GetWindowRect(hwnd, &rect) )
     {
         wxLogLastError(_T("GetWindowRect"));
     }
-#endif // Win16/32
 
     return rect;
 }
@@ -314,14 +311,11 @@ inline RECT wxGetWindowRect(HWND hwnd)
 inline RECT wxGetClientRect(HWND hwnd)
 {
     RECT rect;
-#ifdef __WIN16__
-    ::GetClientRect(hwnd, &rect);
-#else // Win32
+
     if ( !::GetClientRect(hwnd, &rect) )
     {
         wxLogLastError(_T("GetClientRect"));
     }
-#endif // Win16/32
 
     return rect;
 }
@@ -461,6 +455,9 @@ private:
 #define GetHaccel()             ((HACCEL)GetHACCEL())
 #define GetHaccelOf(table)      ((HACCEL)((table).GetHACCEL()))
 
+#define GetHbrush()             ((HPEN)GetResourceHandle())
+#define GetHbrushOf(brush)      ((HPEN)(brush).GetResourceHandle())
+
 #define GetHmenu()              ((HMENU)GetHMenu())
 #define GetHmenuOf(menu)        ((HMENU)menu->GetHMenu())
 
@@ -608,6 +605,57 @@ LocalFree (
 
 #endif
     // __WXWINCE__
+
+// ----------------------------------------------------------------------------
+// 32/64 bit helpers
+// ----------------------------------------------------------------------------
+
+#ifdef __WIN64__
+
+inline void *wxGetWindowProc(HWND hwnd)
+{
+    return (void *)::GetWindowLongPtr(hwnd, GWLP_WNDPROC);
+}
+
+inline void *wxGetWindowUserData(HWND hwnd)
+{
+    return (void *)::GetWindowLongPtr(hwnd, GWLP_USERDATA);
+}
+
+inline WNDPROC wxSetWindowProc(HWND hwnd, WNDPROC func)
+{
+    return (WNDPROC)::SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)func);
+}
+
+inline void *wxSetWindowUserData(HWND hwnd, void *data)
+{
+    return (void *)::SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)data);
+}
+
+#else // __WIN32__
+
+inline void *wxGetWindowProc(HWND hwnd)
+{
+    return (void *)::GetWindowLong(hwnd, GWL_WNDPROC);
+}
+
+inline void *wxGetWindowUserData(HWND hwnd)
+{
+    return (void *)::GetWindowLong(hwnd, GWL_USERDATA);
+}
+
+inline WNDPROC wxSetWindowProc(HWND hwnd, WNDPROC func)
+{
+    return (WNDPROC)::SetWindowLong(hwnd, GWL_WNDPROC, (LONG)func);
+}
+
+inline void *wxSetWindowUserData(HWND hwnd, void *data)
+{
+    return (void *)::SetWindowLong(hwnd, GWL_USERDATA, (LONG)data);
+}
+
+#endif // __WIN64__/__WIN32__
+
 #endif // wxUSE_GUI
 
 #endif