Changeset 2292 for trunk/src/user32/new/winproc.cpp
- Timestamp:
- Jan 2, 2000, 8:30:47 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/new/winproc.cpp
r2290 r2292 1 /* $Id: winproc.cpp,v 1. 1 2000-01-01 14:57:38cbratschi Exp $ */1 /* $Id: winproc.cpp,v 1.2 2000-01-02 19:30:47 cbratschi Exp $ */ 2 2 /* 3 3 * Window procedure callbacks … … 49 49 50 50 /********************************************************************** 51 * 51 * WINPROC_GetPtr 52 52 * 53 53 * Return a pointer to the win proc. … … 59 59 60 60 if(ptr == NULL) { 61 61 return NULL; 62 62 } 63 63 … … 76 76 77 77 /********************************************************************** 78 * 78 * WINPROC_AllocWinProc 79 79 * 80 80 * Allocate a new window procedure. … … 91 91 /* Check if the function is already a win proc */ 92 92 93 if ((oldproc = WINPROC_GetPtr( func ))) 93 oldproc = WINPROC_GetPtr( func ); 94 if (oldproc) 94 95 { 95 96 *proc = *oldproc; … … 119 120 120 121 /********************************************************************** 121 * 122 * WINPROC_GetProc 122 123 * 123 124 * Get a window procedure pointer that can be passed to the Windows program. … … 135 136 136 137 /********************************************************************** 137 * 138 * WINPROC_SetProc 138 139 * 139 140 * Set the window procedure for a window or class. There are 140 141 * three tree classes of winproc callbacks: 141 142 * 142 * 1) class -> wp -not subclassed143 * class -> wp -> wp -> wp -> wp -SetClassLong()143 * 1) class -> wp - not subclassed 144 * class -> wp -> wp -> wp -> wp - SetClassLong() 144 145 * / / 145 * 2) window -' / -not subclassed146 * window -> wp -> wp ' -SetWindowLong()147 * 148 * 3) timer -> wp -SetTimer()149 * 150 * Initially, winproc of the window points to the current winproc 151 * thunk of its class. Subclassing prepends a new thunk to the 152 * window winproc chain at the head of the list. Thus, window thunk 153 * list includes class thunks and the latter are preserved when the 146 * 2) window -' / - not subclassed 147 * window -> wp -> wp ' - SetWindowLong() 148 * 149 * 3) timer -> wp - SetTimer() 150 * 151 * Initially, winproc of the window points to the current winproc 152 * thunk of its class. Subclassing prepends a new thunk to the 153 * window winproc chain at the head of the list. Thus, window thunk 154 * list includes class thunks and the latter are preserved when the 154 155 * window is destroyed. 155 156 * … … 162 163 163 164 if(func == NULL) { 164 165 165 *(WINDOWPROC **)pFirst = 0; 166 return TRUE; 166 167 } 167 168 … … 177 178 { 178 179 if ((*ppPrev)->user != user) 179 180 181 182 183 184 185 186 187 188 180 { 181 /* terminal thunk is being restored */ 182 183 WINPROC_FreeProc( *pFirst, (*ppPrev)->user ); 184 *(WINDOWPROC **)pFirst = *ppPrev; 185 return TRUE; 186 } 187 bRecycle = TRUE; 188 break; 189 } 189 190 } 190 191 else … … 197 198 } 198 199 } 199 200 200 201 /* WPF_CLASS thunk terminates window thunk list */ 201 202 if ((*ppPrev)->user != user) break; … … 229 230 230 231 /********************************************************************** 231 * 232 * WINPROC_FreeProc 232 233 * 233 234 * Free a list of win procs. … … 246 247 247 248 /********************************************************************** 248 * 249 * WINPROC_GetProcType 249 250 * 250 251 * Return the window procedure type. … … 259 260 260 261 /********************************************************************** 261 * CallWindowProc32A (USER32.18)262 * CallWindowProc32A (USER32.18) 262 263 * 263 264 * The CallWindowProc() function invokes the windows procedure _func_, … … 280 281 * CONFORMANCE 281 282 * 282 * ECMA-234, Win32 283 */ 284 LRESULT WINAPI CallWindowProcA( 283 * ECMA-234, Win32 284 */ 285 LRESULT WINAPI CallWindowProcA( 285 286 WNDPROC func, /* window procedure */ 286 287 HWND hwnd, /* target window */ … … 319 320 320 321 /********************************************************************** 321 * 322 * CallWindowProc32W (USER32.19) 322 323 */ 323 324 LRESULT WINAPI CallWindowProcW( WNDPROC func, HWND hwnd, UINT msg,
Note:
See TracChangeset
for help on using the changeset viewer.