- Timestamp:
- Jun 27, 1999, 6:49:52 PM (26 years ago)
- Location:
- trunk/src/user32
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/setwindow.cpp
r225 r227 1 /* $Id: setwindow.cpp,v 1. 2 1999-06-27 16:23:23sandervl Exp $ */1 /* $Id: setwindow.cpp,v 1.3 1999-06-27 16:49:52 sandervl Exp $ */ 2 2 3 3 /* … … 74 74 LONG rc; 75 75 76 dprintf(("USER32: GetWindowLong %X %d\n", hwnd, nIndex)); 77 76 78 if(nIndex == GWL_WNDPROC || nIndex == DWL_DLGPROC) { 77 #ifdef DEBUG78 WriteLog("USER32: GetWindowLong %X %d\n", hwnd, nIndex);79 #endif80 79 Win32WindowProc *window = Win32WindowProc::FindProc(hwnd); 81 80 if(window && !(nIndex == DWL_DLGPROC && window->IsWindow() == TRUE)) { … … 84 83 } 85 84 rc = O32_GetWindowLong(hwnd, nIndex); 85 //SvL: We must return longs here, not shorts! 86 // (fixed Winhlp32 buttons) 87 if(rc == 0xffff) 88 rc = 0xffffffff; 86 89 return(rc); 87 90 } -
trunk/src/user32/wndclass.cpp
r223 r227 1 /* $Id: wndclass.cpp,v 1.1 3 1999-06-26 18:25:08sandervl Exp $ */1 /* $Id: wndclass.cpp,v 1.14 1999-06-27 16:49:52 sandervl Exp $ */ 2 2 3 3 /* … … 27 27 #include <wprocess.h> 28 28 #include "hooks.h" 29 #include "wndmsg.h" 29 30 30 31 //default window handlers that are registered by RegisterClass are called 31 32 //in this callback handler 32 33 LRESULT EXPENTRY_O32 OS2ToWinCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam); 33 //default window handlers that are queried by GetClassInfo/GetClassLong is really34 //this callback handler35 LRESULT WIN32API WinToOS2Callback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam);36 37 #ifdef DEBUG38 char *GetMsgText(int Msg);39 #endif40 34 41 35 DWORD MapOEMToRealKey(DWORD wParam, DWORD lParam); … … 68 62 LRESULT WIN32API ButtonCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) 69 63 { 70 DWORD dwStyle, dwExStyle; 71 LRESULT rc; 72 73 //Restore our FS selector 74 SetWin32TIB(); 75 76 PostSpyMessage(hwnd, Msg, wParam, lParam); 77 switch(Msg) 78 { 79 case WM_LBUTTONDOWN: 80 rc = ButtonHandler(hwnd, Msg, wParam, lParam); 81 //Restore our FS selector 82 SetWin32TIB(); 83 84 NotifyParent(hwnd, Msg, wParam, lParam); 85 dwStyle = GetWindowLongA(hwnd, GWL_STYLE); 86 dwExStyle = GetWindowLongA(hwnd, GWL_EXSTYLE); 87 88 if(dwStyle & WS_CHILD && !(dwExStyle & WS_EX_NOPARENTNOTIFY) ) 89 { 90 HWND hwndParent = GetParent(hwnd); 91 92 //TODO: Mouse shouldn't be captured 93 Win32WindowProc *parentwnd = Win32WindowProc::FindProc(hwndParent); 94 if(parentwnd) { 95 //TODO: HTCLIENT isn't always accurate 96 parentwnd->SendMessageA(hwndParent, WM_SETCURSOR, hwnd, HTCLIENT | (WM_LBUTTONDOWN << 16)); 97 } 98 } 99 return rc; 100 101 case WM_CREATE: 102 case WM_MBUTTONDOWN: 103 case WM_RBUTTONDOWN: 104 rc = ButtonHandler(hwnd, Msg, wParam, lParam); 105 //Restore our FS selector 106 SetWin32TIB(); 107 NotifyParent(hwnd, Msg, wParam, lParam); 108 RestoreOS2TIB(); 109 return rc; 110 111 case WM_DESTROY: 112 NotifyParent(hwnd, Msg, wParam, lParam); 113 break; 114 } 115 rc = ButtonHandler(hwnd, Msg, wParam, lParam); 116 RestoreOS2TIB(); 117 return rc; 64 return ButtonHandler(hwnd, Msg, wParam, lParam); 118 65 } 119 66 //****************************************************************************** … … 121 68 LRESULT WIN32API ListboxCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) 122 69 { 123 PostSpyMessage(hwnd, Msg, wParam, lParam);124 70 return ListboxHandler(hwnd, Msg, wParam, lParam); 125 71 } … … 128 74 LRESULT WIN32API ComboboxCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) 129 75 { 130 PostSpyMessage(hwnd, Msg, wParam, lParam);131 76 return ComboboxHandler(hwnd, Msg, wParam, lParam); 132 77 } … … 135 80 LRESULT WIN32API MdiClientCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) 136 81 { 137 PostSpyMessage(hwnd, Msg, wParam, lParam);138 82 return MdiClientHandler(hwnd, Msg, wParam, lParam); 139 83 } … … 142 86 LRESULT WIN32API EditCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) 143 87 { 144 PostSpyMessage(hwnd, Msg, wParam, lParam);145 88 return EditHandler(hwnd, Msg, wParam, lParam); 146 89 } … … 149 92 LRESULT WIN32API ScrollbarCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) 150 93 { 151 PostSpyMessage(hwnd, Msg, wParam, lParam);152 94 return ScrollbarHandler(hwnd, Msg, wParam, lParam); 153 95 } … … 156 98 LRESULT WIN32API StaticCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam) 157 99 { 158 PostSpyMessage(hwnd, Msg, wParam, lParam);159 100 return StaticHandler(hwnd, Msg, wParam, lParam); 160 101 } … … 175 116 dprintf(("RegisterSystemClasses failed!!")); 176 117 } 177 O32_SetClassLong(hwndButton, GCL_WNDPROC, (LONG) ButtonCallback);118 O32_SetClassLong(hwndButton, GCL_WNDPROC, (LONG)Win32WindowClass::GetOS2ClassCallback()); 178 119 } 179 120 if(O32_GetClassInfo(NULL, "LISTBOX", &wndclass)) { … … 185 126 dprintf(("RegisterSystemClasses failed!!")); 186 127 } 187 O32_SetClassLong(hwndListbox, GCL_WNDPROC, (LONG) ListboxCallback);128 O32_SetClassLong(hwndListbox, GCL_WNDPROC, (LONG)Win32WindowClass::GetOS2ClassCallback()); 188 129 } 189 130 if(O32_GetClassInfo(NULL, "COMBOBOX", &wndclass)) { … … 195 136 dprintf(("RegisterSystemClasses failed!!")); 196 137 } 197 O32_SetClassLong(hwndCombobox, GCL_WNDPROC, (LONG) ComboboxCallback);138 O32_SetClassLong(hwndCombobox, GCL_WNDPROC, (LONG)Win32WindowClass::GetOS2ClassCallback()); 198 139 } 199 140 if(O32_GetClassInfo(NULL, "EDIT", &wndclass)) { … … 205 146 dprintf(("RegisterSystemClasses failed!!")); 206 147 } 207 O32_SetClassLong(hwndEdit, GCL_WNDPROC, (LONG) EditCallback);148 O32_SetClassLong(hwndEdit, GCL_WNDPROC, (LONG)Win32WindowClass::GetOS2ClassCallback()); 208 149 } 209 150 //TODO: This doens't work yet!! (need to create a normal window as parent) … … 216 157 dprintf(("RegisterSystemClasses failed!!")); 217 158 } 218 O32_SetClassLong(hwndMdiClient, GCL_WNDPROC, (LONG) MdiClientCallback);159 O32_SetClassLong(hwndMdiClient, GCL_WNDPROC, (LONG)Win32WindowClass::GetOS2ClassCallback()); 219 160 } 220 161 if(O32_GetClassInfo(NULL, "SCROLLBAR", &wndclass)) { … … 226 167 dprintf(("RegisterSystemClasses failed!!")); 227 168 } 228 O32_SetClassLong(hwndScrollbar, GCL_WNDPROC, (LONG) ScrollbarCallback);169 O32_SetClassLong(hwndScrollbar, GCL_WNDPROC, (LONG)Win32WindowClass::GetOS2ClassCallback()); 229 170 } 230 171 if(O32_GetClassInfo(NULL, "STATIC", &wndclass)) { … … 236 177 dprintf(("RegisterSystemClasses failed!!")); 237 178 } 238 O32_SetClassLong(hwndStatic, GCL_WNDPROC, (LONG) StaticCallback);179 O32_SetClassLong(hwndStatic, GCL_WNDPROC, (LONG)Win32WindowClass::GetOS2ClassCallback()); 239 180 } 240 181 //TODO: More standard classes in win95/NT4? … … 611 552 dprintf(("USER32: OS2GetClassLongA\n")); 612 553 rc = O32_GetClassLong(hwnd, nIndex); 613 if(nIndex == GCL_WNDPROC) { 554 if(nIndex == GCL_WNDPROC) 555 { 614 556 char szClass[128]; 615 557 Win32WindowClass *wclass; … … 925 867 //****************************************************************************** 926 868 //****************************************************************************** 927 LRESULT WIN32API WinToOS2Callback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)928 {929 WNDPROC_O32 os2callback;930 931 os2callback = (WNDPROC_O32)GetClassLongA(hwnd, GCL_WNDPROC);932 if(os2callback) {933 return os2callback(hwnd, Msg, wParam, lParam);934 }935 dprintf(("OS2ToWinCallback: window procedure == NULL!!\n"));936 return(0);937 }938 //******************************************************************************939 //******************************************************************************940 869 Win32WindowClass *Win32WindowClass::wndclasses = NULL;
Note:
See TracChangeset
for help on using the changeset viewer.