]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxGet/SetWindowProc/UserData()
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 10 Feb 2004 12:56:25 +0000 (12:56 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 10 Feb 2004 12:56:25 +0000 (12:56 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/private.h

index 0093b502b5e198c1e31b15b5815c63c9bb9655b6..8337606c2257cf509d657edc12fcab292cbff5db 100644 (file)
@@ -611,6 +611,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