ReactOS  0.4.13-dev-52-g0efcfec
defwnd.c
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS Win32k subsystem
4  * PURPOSE: Miscellaneous User functions
5  * FILE: win32ss/user/ntuser/defwnd.c
6  * PROGRAMER:
7  */
8 
9 #include <win32k.h>
10 #include <windowsx.h>
11 
12 DBG_DEFAULT_CHANNEL(UserDefwnd);
13 
16 
18 {
19  DRAWTEXTPARAMS dtp;
20 
21  memset (&dtp, 0, sizeof(dtp));
22  dtp.cbSize = sizeof(dtp);
23  if (flags & DT_TABSTOP)
24  {
25  dtp.iTabLength = (flags >> 8) & 0xff;
26  flags &= 0xffff00ff;
27  }
28  return DrawTextExWorker(hdc, (LPWSTR)str, count, rect, flags, &dtp);
29 }
30 
31 
32 HBRUSH FASTCALL
34 {
35  if (ctlType == CTLCOLOR_SCROLLBAR)
36  {
40  IntGdiSetBkColor(hDC, bk);
41 
42  /* if COLOR_WINDOW happens to be the same as COLOR_3DHILIGHT
43  * we better use 0x55aa bitmap brush to make scrollbar's background
44  * look different from the window background.
45  */
46  if ( bk == IntGetSysColor(COLOR_WINDOW))
47  return gpsi->hbrGray;
48 
50  return hb;
51  }
52 
54 
55  if ((ctlType == CTLCOLOR_EDIT) || (ctlType == CTLCOLOR_LISTBOX))
56  {
58  }
59  else
60  {
63  }
64 
66 }
67 
70 {
71  POINT maxTrack, minTrack;
72  LONG style = pWnd->style;
73 
74  if (Pos->flags & SWP_NOSIZE) return 0;
75  if ((style & WS_THICKFRAME) || ((style & (WS_POPUP | WS_CHILD)) == 0))
76  {
77  co_WinPosGetMinMaxInfo(pWnd, NULL, NULL, &minTrack, &maxTrack);
78  Pos->cx = min(Pos->cx, maxTrack.x);
79  Pos->cy = min(Pos->cy, maxTrack.y);
80  if (!(style & WS_MINIMIZE))
81  {
82  if (Pos->cx < minTrack.x) Pos->cx = minTrack.x;
83  if (Pos->cy < minTrack.y) Pos->cy = minTrack.y;
84  }
85  }
86  else
87  {
88  Pos->cx = max(Pos->cx, 0);
89  Pos->cy = max(Pos->cy, 0);
90  }
91  return 0;
92 }
93 
96 {
97  RECT Rect;
98  LONG style = pWnd->style;
99 
100  IntGetClientRect(pWnd, &Rect);
101  IntMapWindowPoints(pWnd, (style & WS_CHILD ? IntGetParent(pWnd) : NULL), (LPPOINT) &Rect, 2);
102 
103  if (!(Pos->flags & SWP_NOCLIENTMOVE))
104  {
106  }
107 
108  if (!(Pos->flags & SWP_NOCLIENTSIZE) || (Pos->flags & SWP_STATECHANGED))
109  {
111  else
112  {
114  co_IntSendMessage(UserHMGetHandle(pWnd), WM_SIZE, wp, MAKELONG(Rect.right - Rect.left, Rect.bottom - Rect.top));
115  }
116  }
117  return 0;
118 }
119 
120 //
121 // Handle a WM_SYSCOMMAND message. Called from DefWindowProc().
122 //
125 {
126  LRESULT lResult = 0;
127  BOOL Hook = FALSE;
128 
129  if (ISITHOOKED(WH_CBT) || (pWnd->head.rpdesk->pDeskInfo->fsHooks & HOOKID_TO_FLAG(WH_CBT)))
130  {
131  Hook = TRUE;
133 
134  if (lResult) return lResult;
135  }
136 
137  switch (wParam & 0xfff0)
138  {
139  case SC_MOVE:
140  case SC_SIZE:
141  DefWndDoSizeMove(pWnd, wParam);
142  break;
143 
144  case SC_MINIMIZE:
145  if (UserHMGetHandle(pWnd) == UserGetActiveWindow())
146  IntShowOwnedPopups(pWnd,FALSE); // This is done in ShowWindow! Need to retest!
148  break;
149 
150  case SC_MAXIMIZE:
151  if (((pWnd->style & WS_MINIMIZE) != 0) && UserHMGetHandle(pWnd) == UserGetActiveWindow())
152  IntShowOwnedPopups(pWnd,TRUE);
154  break;
155 
156  case SC_RESTORE:
157  if (((pWnd->style & WS_MINIMIZE) != 0) && UserHMGetHandle(pWnd) == UserGetActiveWindow())
158  IntShowOwnedPopups(pWnd,TRUE);
160  break;
161 
162  case SC_CLOSE:
163  return co_IntSendMessage(UserHMGetHandle(pWnd), WM_CLOSE, 0, 0);
164 
165  case SC_SCREENSAVE:
166  ERR("Screensaver Called!\n");
167  UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_START_SCREENSAVE, 0); // always lParam 0 == not Secure
168  break;
169 
170  case SC_HOTKEY:
171  {
173 
174  pWnd = ValidateHwndNoErr((HWND)lParam);
175  if (pWnd)
176  {
177  if (pWnd->spwndLastActive)
178  {
179  pWnd = pWnd->spwndLastActive;
180  }
181  UserRefObjectCo(pWnd, &Ref);
183  UserDerefObjectCo(pWnd);
184  if (pWnd->style & WS_MINIMIZE)
185  {
187  }
188  }
189  }
190  break;
191 // case SC_DEFAULT:
192  case SC_MOUSEMENU:
193  {
194  POINT Pt;
195  Pt.x = (short)LOWORD(lParam);
196  Pt.y = (short)HIWORD(lParam);
197  MENU_TrackMouseMenuBar(pWnd, wParam & 0x000f, Pt);
198  }
199  break;
200 
201  case SC_KEYMENU:
203  break;
204 
205 
206  default:
207  // We do not support anything else here so we should return normal even when sending a hook.
208  return 0;
209  }
210 
211  return(Hook ? 1 : 0); // Don't call us again from user space.
212 }
213 
216 {
217  PWND Ret;
218  PWND Child, OwnerWnd;
219 
220  for(Child = Root->spwndChild; Child; Child = Child->spwndNext)
221  {
222  OwnerWnd = Child->spwndOwner;
223  if(!OwnerWnd)
224  continue;
225 
226  if (!(Child->style & WS_POPUP) ||
227  !(Child->style & WS_VISIBLE) ||
228  /* Fixes CMD pop up properties window from having foreground. */
229  Owner->head.pti->MessageQueue != Child->head.pti->MessageQueue)
230  continue;
231 
232  if(OwnerWnd == Owner)
233  {
234  Ret = Child;
235  return Ret;
236  }
237  }
238  return NULL;
239 }
240 
241 LRESULT
243 {
244  PWND pwndPopUP = NULL;
245  WORD Msg = HIWORD(lParam);
246 
247  /* Not for child windows. */
248  if (UserHMGetHandle(pWnd) != (HWND)wParam)
249  {
250  return FALSE;
251  }
252 
253  switch((short)LOWORD(lParam))
254  {
255  case HTERROR:
256  {
259 
260  if (Msg == WM_LBUTTONDOWN)
261  {
262  // Find a pop up window to bring active.
264  if (pwndPopUP)
265  {
266  // Not a child pop up from desktop.
267  if ( pwndPopUP != UserGetDesktopWindow()->spwndChild )
268  {
269  // Get original active window.
270  PWND pwndOrigActive = gpqForeground->spwndActive;
271 
273 
274  UserRefObjectCo(pwndPopUP, &Ref);
275  //UserSetActiveWindow(pwndPopUP);
276  co_IntSetForegroundWindow(pwndPopUP); // HACK
277  UserDerefObjectCo(pwndPopUP);
278 
279  // If the change was made, break out.
280  if (pwndOrigActive != gpqForeground->spwndActive)
281  break;
282  }
283  }
284  }
286  if (Msg == WM_LBUTTONDOWN || Msg == WM_MBUTTONDOWN ||
287  Msg == WM_RBUTTONDOWN || Msg == WM_XBUTTONDOWN)
288  {
289  if (pwndPopUP)
290  {
291  FLASHWINFO fwi =
292  {sizeof(FLASHWINFO),
293  UserHMGetHandle(pwndPopUP),
294  FLASHW_ALL,
296  (gpsi->dtCaretBlink >> 3)};
297 
298  // Now shake that window!
299  IntFlashWindowEx(pwndPopUP, &fwi);
300  }
302  }
303  break;
304  }
305 
306  case HTCLIENT:
307  {
308  if (pWnd->pcls->spcur)
309  {
310  IntSystemSetCursor(pWnd->pcls->spcur);
311  }
312  return FALSE;
313  }
314 
315  case HTLEFT:
316  case HTRIGHT:
317  {
318  if (pWnd->style & WS_MAXIMIZE)
319  {
320  break;
321  }
322  IntSystemSetCursor(SYSTEMCUR(SIZEWE));
323  return TRUE;
324  }
325 
326  case HTTOP:
327  case HTBOTTOM:
328  {
329  if (pWnd->style & WS_MAXIMIZE)
330  {
331  break;
332  }
333  IntSystemSetCursor(SYSTEMCUR(SIZENS));
334  return TRUE;
335  }
336 
337  case HTTOPLEFT:
338  case HTBOTTOMRIGHT:
339  {
340  if (pWnd->style & WS_MAXIMIZE)
341  {
342  break;
343  }
344  IntSystemSetCursor(SYSTEMCUR(SIZENWSE));
345  return TRUE;
346  }
347 
348  case HTBOTTOMLEFT:
349  case HTTOPRIGHT:
350  {
351  if (pWnd->style & WS_MAXIMIZE)
352  {
353  break;
354  }
355  IntSystemSetCursor(SYSTEMCUR(SIZENESW));
356  return TRUE;
357  }
358  }
360  return FALSE;
361 }
362 
364 {
365  /*
366  * Visibility flag.
367  */
368  if ( (uFlags & PRF_CHECKVISIBLE) &&
369  !IntIsWindowVisible(pwnd) )
370  return;
371 
372  /*
373  * Unimplemented flags.
374  */
375  if ( (uFlags & PRF_CHILDREN) ||
376  (uFlags & PRF_OWNED) ||
377  (uFlags & PRF_NONCLIENT) )
378  {
379  FIXME("WM_PRINT message with unsupported flags\n");
380  }
381 
382  /*
383  * Background
384  */
385  if ( uFlags & PRF_ERASEBKGND)
387 
388  /*
389  * Client area
390  */
391  if ( uFlags & PRF_CLIENT)
393 }
394 
395 BOOL
397 {
398  BOOL Ret = FALSE;
399 
400  if ( (pWnd->style & WS_VISIBLE) && ((pWnd->style & WS_CAPTION) == WS_CAPTION) )
401  {
402  if (pWnd->state & WNDS_HASCAPTION && pWnd->head.pti->MessageQueue == gpqForeground)
403  Flags |= DC_ACTIVE;
404  /*
405  * When themes are not enabled we can go on and paint the non client area.
406  * However if we do that with themes enabled we will draw a classic frame.
407  * This is solved by sending a themes specific message to notify the themes
408  * engine that the caption needs to be redrawn
409  */
411  {
412  /*
413  * This will cause uxtheme to either paint the themed caption or call
414  * RealUserDrawCaption in order to draw the classic caption when themes
415  * are disabled but the themes service is enabled
416  */
417  TRACE("UDCB Flags %08x\n");
419  }
420  else
421  {
423  UserDrawCaptionBar(pWnd, hDC, Flags);
424  UserReleaseDC(pWnd, hDC, FALSE);
425  }
426  Ret = TRUE;
427  }
428  // Support window tray
429  return Ret;
430 }
431 
432 // WM_SETICON
435 {
436  HICON hIcon, hIconSmall, hIconOld;
437 
438  if ( wParam > ICON_SMALL2 )
439  {
441  return 0;
442  }
443  hIconSmall = UserGetProp(pWnd, gpsi->atomIconSmProp, TRUE);
445 
446  hIconOld = wParam == ICON_BIG ? hIcon : hIconSmall;
447 
448  switch(wParam)
449  {
450  case ICON_BIG:
451  hIcon = (HICON)lParam;
452  break;
453  case ICON_SMALL:
454  hIconSmall = (HICON)lParam;
455  break;
456  case ICON_SMALL2:
457  ERR("FIXME: Set ICON_SMALL2 support!\n");
458  default:
459  break;
460  }
461 
462  UserSetProp(pWnd, gpsi->atomIconProp, hIcon, TRUE);
463  UserSetProp(pWnd, gpsi->atomIconSmProp, hIconSmall, TRUE);
464 
465  if ((pWnd->style & WS_CAPTION ) == WS_CAPTION)
466  UserPaintCaption(pWnd, DC_ICON);
467 
468  return (LRESULT)hIconOld;
469 }
470 
473 {
474  HICON hIconRet;
475  if ( wParam > ICON_SMALL2 )
476  {
478  return 0;
479  }
480  switch(wParam)
481  {
482  case ICON_BIG:
483  hIconRet = UserGetProp(pWnd, gpsi->atomIconProp, TRUE);
484  break;
485  case ICON_SMALL:
486  case ICON_SMALL2:
487  hIconRet = UserGetProp(pWnd, gpsi->atomIconSmProp, TRUE);
488  break;
489  default:
490  break;
491  }
492  return (LRESULT)hIconRet;
493 }
494 
497 {
498  RECT rect;
499  HDC hdc;
500  INT w;
501  INT h;
503  HDC hdc2;
504  SETCLIPBDATA scd = {FALSE, FALSE};
505 
508 
509  hdc = UserGetWindowDC(pWnd);
510  IntGetWindowRect(pWnd, &rect);
511  w = rect.right - rect.left;
512  h = rect.bottom - rect.top;
513 
517 
518  NtGdiBitBlt(hdc2, 0, 0, w, h, hdc, 0, 0, SRCCOPY, 0, 0);
519 
521 
522  UserReleaseDC(pWnd, hdc, FALSE);
523  UserReleaseDC(pWnd, hdc2, FALSE);
524 
526 }
527 
528 /*
529  Win32k counterpart of User DefWindowProc
530  */
533  PWND Wnd,
534  UINT Msg,
535  WPARAM wParam,
536  LPARAM lParam,
537  BOOL Ansi)
538 {
540  LRESULT lResult = 0;
542 
543  if (Msg > WM_USER) return 0;
544 
545  switch (Msg)
546  {
547  case WM_GETTEXTLENGTH:
548  {
549  PWSTR buf;
550  ULONG len;
551 
552  if (Wnd != NULL && Wnd->strName.Length != 0)
553  {
554  buf = Wnd->strName.Buffer;
555  if (buf != NULL &&
557  buf,
558  Wnd->strName.Length)))
559  {
560  lResult = (LRESULT) (Wnd->strName.Length / sizeof(WCHAR));
561  }
562  }
563  else lResult = 0L;
564 
565  break;
566  }
567 
568  case WM_GETTEXT: // FIXME: Handle Ansi
569  {
570  PWSTR buf = NULL;
572 
573  if (Wnd != NULL && wParam != 0)
574  {
575  if (Wnd->strName.Buffer != NULL)
576  buf = Wnd->strName.Buffer;
577  else
578  outbuf[0] = L'\0';
579 
580  if (buf != NULL)
581  {
582  if (Wnd->strName.Length != 0)
583  {
584  lResult = min(Wnd->strName.Length / sizeof(WCHAR), wParam - 1);
586  buf,
587  lResult * sizeof(WCHAR));
588  outbuf[lResult] = L'\0';
589  }
590  else
591  outbuf[0] = L'\0';
592  }
593  }
594  break;
595  }
596 
597  case WM_SETTEXT: // FIXME: Handle Ansi
598  {
599  DefSetText(Wnd, (PCWSTR)lParam);
600 
601  if ((Wnd->style & WS_CAPTION) == WS_CAPTION)
603  IntNotifyWinEvent(EVENT_OBJECT_NAMECHANGE, Wnd, OBJID_WINDOW, CHILDID_SELF, 0);
604  lResult = 1;
605  break;
606  }
607 
608  case WM_SYSCOMMAND:
609  {
610  TRACE("hwnd %p WM_SYSCOMMAND %lx %lx\n", Wnd->head.h, wParam, lParam );
611  lResult = DefWndHandleSysCommand(Wnd, wParam, lParam);
612  break;
613  }
614 
615  case WM_SHOWWINDOW:
616  {
617  if ((Wnd->style & WS_VISIBLE) && wParam) break;
618  if (!(Wnd->style & WS_VISIBLE) && !wParam) break;
619  if (!Wnd->spwndOwner) break;
620  if (LOWORD(lParam))
621  {
623  }
624  break;
625  }
626 
627  case WM_CLIENTSHUTDOWN:
628  return IntClientShutdown(Wnd, wParam, lParam);
629 
630  case WM_APPCOMMAND:
631  if ( (Wnd->style & (WS_POPUP|WS_CHILD)) != WS_CHILD &&
632  Wnd != co_GetDesktopWindow(Wnd) )
633  {
634  if (!co_HOOK_CallHooks(WH_SHELL, HSHELL_APPCOMMAND, wParam, lParam))
635  co_IntShellHookNotify(HSHELL_APPCOMMAND, wParam, lParam);
636  break;
637  }
638  UserRefObjectCo(Wnd->spwndParent, &Ref);
641  break;
642 
643  case WM_KEYF1:
644  {
645  HELPINFO hi;
646  HMENU hMenu = UlongToHandle(Wnd->IDMenu);
647  PWND pwndActive = MENU_IsMenuActive();
648  hi.cbSize = sizeof(HELPINFO);
649  hi.MousePos = gpsi->ptCursor;
651  hi.hItemHandle = pwndActive ? UserHMGetHandle(pwndActive) : UserHMGetHandle(Wnd);
652  hi.iCtrlId = (Wnd->style & (WS_POPUP|WS_CHILD)) == WS_CHILD ? IntMenuItemFromPoint(Wnd, hMenu, hi.MousePos) : 0;
654 
655  co_IntSendMessage( UserHMGetHandle(Wnd), WM_HELP, 0, (LPARAM)&hi );
656  break;
657  }
658 
659  case WM_SETICON:
660  {
661  return DefWndSetIcon(Wnd, wParam, lParam);
662  }
663 
664  case WM_GETICON:
665  {
666  return DefWndGetIcon(Wnd, wParam, lParam);
667  }
668 
669  case WM_HELP:
670  {
671  PWND Parent = IntGetParent(Wnd);
673  break;
674  }
675 
676  case WM_LBUTTONDOWN:
677  case WM_RBUTTONDOWN:
678  case WM_MBUTTONDOWN:
679  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK);
680  break;
681 
682  case WM_NCLBUTTONDOWN:
683  return NC_HandleNCLButtonDown(Wnd, wParam, lParam);
684 
685  case WM_NCRBUTTONDOWN:
686  return NC_HandleNCRButtonDown(Wnd, wParam, lParam);
687 
688  case WM_LBUTTONDBLCLK:
690 
691  case WM_NCLBUTTONDBLCLK:
692  return NC_HandleNCLButtonDblClk(Wnd, wParam, lParam);
693 
694  case WM_RBUTTONUP:
695  {
696  POINT Pt;
697 
698  Pt.x = GET_X_LPARAM(lParam);
699  Pt.y = GET_Y_LPARAM(lParam);
700  IntClientToScreen(Wnd, &Pt);
701  lParam = MAKELPARAM(Pt.x, Pt.y);
703  break;
704  }
705 
706  case WM_NCRBUTTONUP:
707  /*
708  * FIXME : we must NOT send WM_CONTEXTMENU on a WM_NCRBUTTONUP (checked
709  * in Windows), but what _should_ we do? According to MSDN :
710  * "If it is appropriate to do so, the system sends the WM_SYSCOMMAND
711  * message to the window". When is it appropriate?
712  */
713  ERR("WM_NCRBUTTONUP\n");
714  break;
715 
716  case WM_XBUTTONUP:
717  case WM_NCXBUTTONUP:
718  if (HIWORD(wParam) == XBUTTON1 || HIWORD(wParam) == XBUTTON2)
719  {
721  MAKELPARAM(LOWORD(wParam), FAPPCOMMAND_MOUSE | HIWORD(wParam)));
722  }
723  break;
724 
725 
726  case WM_CONTEXTMENU:
727  {
728  if (Wnd->style & WS_CHILD)
729  {
731  }
732  else
733  {
734  POINT Pt;
735  LONG_PTR Style;
736  LONG HitCode;
737 
738  Style = Wnd->style;
739 
740  Pt.x = GET_X_LPARAM(lParam);
741  Pt.y = GET_Y_LPARAM(lParam);
742  if (Style & WS_CHILD)
743  {
744  IntScreenToClient(IntGetParent(Wnd), &Pt);
745  }
746 
747  HitCode = GetNCHitEx(Wnd, Pt);
748 
749  if (HitCode == HTCAPTION || HitCode == HTSYSMENU)
750  {
751  PMENU SystemMenu;
752  UINT Flags;
753 
754  if((SystemMenu = IntGetSystemMenu(Wnd, FALSE)))
755  {
756  MENU_InitSysMenuPopup(SystemMenu, Wnd->style, Wnd->pcls->style, HitCode);
757 
758  if(HitCode == HTCAPTION)
760  else
762 
763  IntTrackPopupMenuEx(SystemMenu, Flags|TPM_SYSTEM_MENU, Pt.x, Pt.y, Wnd, NULL);
764  }
765  }
766  if (HitCode == HTHSCROLL || HitCode == HTVSCROLL)
767  {
768  WARN("Scroll Menu Not Supported\n");
769  }
770  }
771  break;
772  }
773 
774  case WM_KEYDOWN:
775  if (wParam == VK_F10)
776  {
777  pti->MessageQueue->QF_flags |= QF_FF10STATUS;
778 
779  if (UserGetKeyState(VK_SHIFT) & 0x8000)
780  {
782  }
783  }
785  {
786  HWND hwndTop = UserGetForegroundWindow();
787  PWND topWnd = UserGetWindowObject(hwndTop);
788  if (topWnd)
789  {
790  if ((topWnd->style & WS_THICKFRAME) == 0)
791  {
792  return 0;
793  }
794 
795  if (wParam == VK_DOWN)
796  {
797  if (topWnd->style & WS_MAXIMIZE)
799  else
801  }
802  else if (wParam == VK_UP)
803  {
804  RECT currentRect;
805  if ((topWnd->InternalPos.NormalRect.right == topWnd->InternalPos.NormalRect.left) ||
806  (topWnd->InternalPos.NormalRect.top == topWnd->InternalPos.NormalRect.bottom))
807  {
808  currentRect = topWnd->rcWindow;
809  }
810  else
811  {
812  currentRect = topWnd->InternalPos.NormalRect;
813  }
815 
816  // save normal rect if maximazing snapped window
817  topWnd->InternalPos.NormalRect = currentRect;
818  }
819  else if (wParam == VK_LEFT || wParam == VK_RIGHT)
820  {
821  RECT snapRect, normalRect, windowRect;
822  BOOL snapped;
823  normalRect = topWnd->InternalPos.NormalRect;
824  snapped = (normalRect.left != 0 && normalRect.right != 0 &&
825  normalRect.top != 0 && normalRect.bottom != 0);
826 
827  if (topWnd->style & WS_MAXIMIZE)
828  {
830  snapped = FALSE;
831  }
832  windowRect = topWnd->rcWindow;
833 
834  UserSystemParametersInfo(SPI_GETWORKAREA, 0, &snapRect, 0);
835  if (wParam == VK_LEFT)
836  {
837  snapRect.right = (snapRect.left + snapRect.right) / 2;
838  }
839  else // VK_RIGHT
840  {
841  snapRect.left = (snapRect.left + snapRect.right) / 2;
842  }
843 
844  if (snapped)
845  {
846  // if window was snapped but moved to other location - restore normal size
847  if (!IntEqualRect(&snapRect, &windowRect))
848  {
849  RECT empty = {0, 0, 0, 0};
850  co_WinPosSetWindowPos(topWnd,
851  0,
852  normalRect.left,
853  normalRect.top,
854  normalRect.right - normalRect.left,
855  normalRect.bottom - normalRect.top,
856  0);
857  topWnd->InternalPos.NormalRect = empty;
858  }
859  }
860  else
861  {
862  co_WinPosSetWindowPos(topWnd,
863  0,
864  snapRect.left,
865  snapRect.top,
866  snapRect.right - snapRect.left,
867  snapRect.bottom - snapRect.top,
868  0);
869  topWnd->InternalPos.NormalRect = windowRect;
870  }
871  }
872  }
873  }
874  break;
875 
876  case WM_SYSKEYDOWN:
877  {
878  if (HIWORD(lParam) & KF_ALTDOWN)
879  { /* Previous state, if the key was down before this message,
880  this is a cheap way to ignore autorepeat keys. */
881  if ( !(HIWORD(lParam) & KF_REPEAT) )
882  {
883  if ( ( wParam == VK_MENU ||
884  wParam == VK_LMENU ||
885  wParam == VK_RMENU ) && !(pti->MessageQueue->QF_flags & QF_FMENUSTATUS)) //iMenuSysKey )
886  pti->MessageQueue->QF_flags |= QF_FMENUSTATUS; //iMenuSysKey = 1;
887  else
888  pti->MessageQueue->QF_flags &= ~QF_FMENUSTATUS; //iMenuSysKey = 0;
889  }
890 
891  pti->MessageQueue->QF_flags &= ~QF_FF10STATUS; //iF10Key = 0;
892 
893  if (wParam == VK_F4) /* Try to close the window */
894  {
896  if (!(top->style & CS_NOCLOSE))
898  }
899  else if (wParam == VK_SNAPSHOT) // Alt-VK_SNAPSHOT?
900  {
901  PWND pwnd = Wnd;
902  while (IntGetParent(pwnd) != NULL)
903  {
904  pwnd = IntGetParent(pwnd);
905  }
906  ERR("DefWndScreenshot\n");
907  DefWndScreenshot(pwnd);
908  }
909  else if ( wParam == VK_ESCAPE || wParam == VK_TAB ) // Alt-Tab/ESC Alt-Shift-Tab/ESC
910  {
911  WPARAM wParamTmp;
912  HWND Active = UserGetActiveWindow(); // Noticed MDI problem.
913  if (!Active)
914  {
915  FIXME("WM_SYSKEYDOWN VK_ESCAPE no active\n");
916  break;
917  }
918  wParamTmp = UserGetKeyState(VK_SHIFT) & 0x8000 ? SC_PREVWINDOW : SC_NEXTWINDOW;
920  }
921  }
922  else if( wParam == VK_F10 )
923  {
924  if (UserGetKeyState(VK_SHIFT) & 0x8000)
926  pti->MessageQueue->QF_flags |= QF_FF10STATUS; //iF10Key = 1;
927  }
928  else if( wParam == VK_ESCAPE && (UserGetKeyState(VK_SHIFT) & 0x8000))
930  break;
931  }
932 
933  case WM_KEYUP:
934  case WM_SYSKEYUP:
935  {
936  /* Press and release F10 or ALT */
937  if (((wParam == VK_MENU || wParam == VK_LMENU || wParam == VK_RMENU)
938  && (pti->MessageQueue->QF_flags & (QF_FMENUSTATUS|QF_FMENUSTATUSBREAK)) == QF_FMENUSTATUS /*iMenuSysKey*/) ||
939  ((wParam == VK_F10) && pti->MessageQueue->QF_flags & QF_FF10STATUS /*iF10Key*/))
941  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK|QF_FF10STATUS); //iMenuSysKey = iF10Key = 0;
942  break;
943  }
944 
945  case WM_SYSCHAR:
946  {
947  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK); //iMenuSysKey = 0;
948  if (wParam == VK_RETURN && (Wnd->style & WS_MINIMIZE) != 0)
949  {
951  break;
952  }
953  if ((HIWORD(lParam) & KF_ALTDOWN) && wParam)
954  {
955  if (wParam == VK_TAB || wParam == VK_ESCAPE) break;
956  if (wParam == VK_SPACE && Wnd->style & WS_CHILD)
958  else
960  }
961  else /* check for Ctrl-Esc */
962  if (wParam != VK_ESCAPE) UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_MESSAGE_BEEP, 0); //MessageBeep(0);
963  break;
964  }
965 
966  case WM_CANCELMODE:
967  {
968  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK);
969 
970  MENU_EndMenu( Wnd );
971  if (IntGetCaptureWindow() == UserHMGetHandle(Wnd))
972  {
974  }
975  break;
976  }
977 
978  case WM_CLOSE:
980  break;
981 
982  case WM_CTLCOLORMSGBOX:
983  case WM_CTLCOLOREDIT:
984  case WM_CTLCOLORLISTBOX:
985  case WM_CTLCOLORBTN:
986  case WM_CTLCOLORDLG:
987  case WM_CTLCOLORSTATIC:
990 
991  case WM_CTLCOLOR:
993 
994  case WM_SETCURSOR:
995  {
996  if (Wnd->style & WS_CHILD)
997  {
998  /* with the exception of the border around a resizable wnd,
999  * give the parent first chance to set the cursor */
1001  {
1002  PWND parent = Wnd->spwndParent;//IntGetParent( Wnd );
1003  if (parent != UserGetDesktopWindow() &&
1005  return TRUE;
1006  }
1007  }
1008  return DefWndHandleSetCursor(Wnd, wParam, lParam);
1009  }
1010 
1011  case WM_MOUSEACTIVATE:
1012  if (Wnd->style & WS_CHILD)
1013  {
1014  LONG Ret;
1015  HWND hwndParent;
1016  PWND pwndParent = IntGetParent(Wnd);
1017  hwndParent = pwndParent ? UserHMGetHandle(pwndParent) : NULL;
1019  if (Ret) return (Ret);
1020  }
1022 
1023  case WM_ACTIVATE:
1024  /* The default action in Windows is to set the keyboard focus to
1025  * the window, if it's being activated and not minimized */
1026  if (LOWORD(wParam) != WA_INACTIVE &&
1027  !(Wnd->style & WS_MINIMIZE))
1028  {
1029  //ERR("WM_ACTIVATE %p\n",hWnd);
1030  co_UserSetFocus(Wnd);
1031  }
1032  break;
1033 
1034  case WM_MOUSEWHEEL:
1035  if (Wnd->style & WS_CHILD)
1036  {
1037  HWND hwndParent;
1038  PWND pwndParent = IntGetParent(Wnd);
1039  hwndParent = pwndParent ? UserHMGetHandle(pwndParent) : NULL;
1041  }
1042  break;
1043 
1044  case WM_ERASEBKGND:
1045  case WM_ICONERASEBKGND:
1046  {
1047  RECT Rect;
1048  HBRUSH hBrush = Wnd->pcls->hbrBackground;
1049  if (!hBrush) return 0;
1050  if (hBrush <= (HBRUSH)COLOR_MENUBAR)
1051  {
1052  hBrush = IntGetSysColorBrush(HandleToUlong(hBrush));
1053  }
1054  if (Wnd->pcls->style & CS_PARENTDC)
1055  {
1056  /* can't use GetClipBox with a parent DC or we fill the whole parent */
1057  IntGetClientRect(Wnd, &Rect);
1058  GreDPtoLP((HDC)wParam, (LPPOINT)&Rect, 2);
1059  }
1060  else
1061  {
1062  GdiGetClipBox((HDC)wParam, &Rect);
1063  }
1064  FillRect((HDC)wParam, &Rect, hBrush);
1065  return (1);
1066  }
1067 
1068  case WM_GETHOTKEY:
1069  //ERR("WM_GETHOTKEY\n");
1070  return DefWndGetHotKey(Wnd);
1071  case WM_SETHOTKEY:
1072  //ERR("WM_SETHOTKEY\n");
1073  return DefWndSetHotKey(Wnd, wParam);
1074 
1075  case WM_NCHITTEST:
1076  {
1077  POINT Point;
1080  return GetNCHitEx(Wnd, Point);
1081  }
1082 
1083  case WM_PRINT:
1084  {
1085  DefWndPrint(Wnd, (HDC)wParam, lParam);
1086  return (0);
1087  }
1088 
1089  case WM_SYSCOLORCHANGE:
1090  {
1091  /* force to redraw non-client area */
1092  UserPaintCaption(Wnd, DC_NC);
1093  /* Use InvalidateRect to redraw client area, enable
1094  * erase to redraw all subcontrols otherwise send the
1095  * WM_SYSCOLORCHANGE to child windows/controls is required
1096  */
1098  return (0);
1099  }
1100 
1101  case WM_PAINTICON:
1102  case WM_PAINT:
1103  {
1104  PAINTSTRUCT Ps;
1105  HDC hDC;
1106 
1107  /* If already in Paint and Client area is not empty just return. */
1108  if (Wnd->state2 & WNDS2_STARTPAINT && !RECTL_bIsEmptyRect(&Wnd->rcClient))
1109  {
1110  ERR("In Paint and Client area is not empty!\n");
1111  return 0;
1112  }
1113 
1114  hDC = IntBeginPaint(Wnd, &Ps);
1115  if (hDC)
1116  {
1117  if (((Wnd->style & WS_MINIMIZE) != 0) && (Wnd->pcls->spicn))
1118  {
1119  RECT ClientRect;
1120  INT x, y;
1121 
1122  ERR("Doing Paint and Client area is empty!\n");
1123  IntGetClientRect(Wnd, &ClientRect);
1124  x = (ClientRect.right - ClientRect.left - UserGetSystemMetrics(SM_CXICON)) / 2;
1125  y = (ClientRect.bottom - ClientRect.top - UserGetSystemMetrics(SM_CYICON)) / 2;
1127  UserDrawIconEx(hDC, x, y, Wnd->pcls->spicn, 0, 0, 0, 0, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE);
1129  }
1130 
1131  IntEndPaint(Wnd, &Ps);
1132  }
1133  return (0);
1134  }
1135 
1136  case WM_SYNCPAINT:
1137  {
1138  HRGN hRgn;
1139  Wnd->state &= ~WNDS_SYNCPAINTPENDING;
1140  TRACE("WM_SYNCPAINT\n");
1141  hRgn = NtGdiCreateRectRgn(0, 0, 0, 0);
1142  if (hRgn)
1143  {
1144  if (co_UserGetUpdateRgn(Wnd, hRgn, FALSE) != NULLREGION)
1145  {
1146  PREGION pRgn = REGION_LockRgn(hRgn);
1147  if (pRgn) REGION_UnlockRgn(pRgn);
1148  if (!wParam)
1150  co_UserRedrawWindow(Wnd, NULL, pRgn, wParam);
1151  }
1153  }
1154  return 0;
1155  }
1156 
1157  case WM_SETREDRAW:
1158  if (wParam)
1159  {
1160  if (!(Wnd->style & WS_VISIBLE))
1161  {
1162  IntSetStyle( Wnd, WS_VISIBLE, 0 );
1163  Wnd->state |= WNDS_SENDNCPAINT;
1164  }
1165  }
1166  else
1167  {
1168  if (Wnd->style & WS_VISIBLE)
1169  {
1171  IntSetStyle( Wnd, 0, WS_VISIBLE );
1172  }
1173  }
1174  return 0;
1175 
1176  case WM_WINDOWPOSCHANGING:
1177  {
1179  }
1180 
1181  case WM_WINDOWPOSCHANGED:
1182  {
1184  }
1185 
1186  case WM_NCCALCSIZE:
1187  {
1188  return NC_HandleNCCalcSize( Wnd, wParam, (RECTL *)lParam, FALSE );
1189  }
1190 
1191  case WM_NCACTIVATE:
1192  {
1193  return NC_HandleNCActivate( Wnd, wParam, lParam );
1194  }
1195 
1196  //
1197  // NC Paint mode.
1198  //
1199  case WM_NCPAINT:
1200  {
1202  Wnd->state |= WNDS_FORCEMENUDRAW;
1203  NC_DoNCPaint(Wnd, hDC, -1);
1204  Wnd->state &= ~WNDS_FORCEMENUDRAW;
1205  UserReleaseDC(Wnd, hDC, FALSE);
1206  return 0;
1207  }
1208  //
1209  // Draw Caption mode.
1210  //
1211  // wParam are DC_* flags.
1212  //
1213  case WM_NCUAHDRAWCAPTION:
1214  {
1216  TRACE("WM_NCUAHDRAWCAPTION: wParam DC_ flags %08x\n",wParam);
1217  UserDrawCaptionBar(Wnd, hDC, wParam|DC_FRAME); // Include DC_FRAME to comp for drawing glich.
1218  UserReleaseDC(Wnd, hDC, FALSE);
1219  return 0;
1220  }
1221  //
1222  // Draw Frame mode.
1223  //
1224  // wParam is HDC, lParam are DC_ACTIVE and or DC_REDRAWHUNGWND.
1225  //
1226  case WM_NCUAHDRAWFRAME:
1227  {
1228  TRACE("WM_NCUAHDRAWFRAME: wParam hDC %p lParam DC_ flags %08x\n",wParam,lParam);
1230  return 0;
1231  }
1232 
1233  /* ReactOS only. */
1234  case WM_CBT:
1235  {
1236  switch (wParam)
1237  {
1238  case HCBT_MOVESIZE:
1239  {
1240  RECTL rt;
1241 
1242  if (lParam)
1243  {
1244  _SEH2_TRY
1245  {
1247  sizeof(RECT),
1248  1);
1249 
1250  RtlCopyMemory(&rt,
1251  (PVOID)lParam,
1252  sizeof(RECT));
1253  }
1255  {
1256  lResult = 1;
1257  }
1258  _SEH2_END;
1259  }
1260  if (!lResult)
1261  lResult = co_HOOK_CallHooks(WH_CBT, HCBT_MOVESIZE, (WPARAM)Wnd->head.h, lParam ? (LPARAM)&rt : 0);
1262  }
1263  break;
1264  }
1265  break;
1266  }
1267  break;
1268  }
1269  return lResult;
1270 }
1271 
1272 /* EOF */
BYTE gafAsyncKeyState[256 *2/8]
Definition: keyboard.c:13
#define WM_NCLBUTTONDOWN
Definition: winuser.h:1674
#define WM_SYNCPAINT
Definition: winuser.h:1672
LRESULT FASTCALL IntDefWindowProc(PWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi)
Definition: defwnd.c:532
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
PUSER_MESSAGE_QUEUE gpqForeground
Definition: focus.c:12
#define WM_GETTEXTLENGTH
Definition: winuser.h:1601
#define GA_ROOT
Definition: winuser.h:2743
BOOL FASTCALL IntFlashWindowEx(PWND pWnd, PFLASHWINFO pfwi)
Definition: painting.c:1292
#define HTTOP
Definition: winuser.h:2444
struct _WND::@4105 InternalPos
__kernel_entry W32KAPI HRGN APIENTRY NtGdiCreateRectRgn(_In_ INT xLeft, _In_ INT yTop, _In_ INT xRight, _In_ INT yBottom)
#define WS_THICKFRAME
Definition: pedump.c:630
#define WM_SETHOTKEY
Definition: winuser.h:1634
#define HTLEFT
Definition: winuser.h:2441
#define HCBT_SYSCOMMAND
Definition: winuser.h:63
const uint16_t * PCWSTR
Definition: typedefs.h:55
#define WM_PAINTICON
Definition: winuser.h:1623
BOOL FASTCALL UserPostMessage(HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam)
Definition: message.c:1181
#define WM_SYSCOLORCHANGE
Definition: winuser.h:1608
void FASTCALL MENU_InitSysMenuPopup(PMENU menu, DWORD style, DWORD clsStyle, LONG HitTest)
Definition: menu.c:1366
#define max(a, b)
Definition: svc.c:63
#define COLOR_3DHILIGHT
Definition: winuser.h:927
PCURICON_OBJECT IntSystemSetCursor(PCURICON_OBJECT pcurNew)
Definition: cursoricon.c:230
#define HOOKID_TO_FLAG(HookId)
Definition: hook.h:5
static HICON
Definition: imagelist.c:84
#define HTHSCROLL
Definition: winuser.h:2435
BOOL UserDrawIconEx(HDC hDc, INT xLeft, INT yTop, PCURICON_OBJECT pIcon, INT cxWidth, INT cyHeight, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags)
Definition: cursoricon.c:1688
#define DT_TABSTOP
Definition: winuser.h:541
BOOL NTAPI GreDeleteObject(HGDIOBJ hobj)
Definition: gdiobj.c:1153
#define TRUE
Definition: types.h:120
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
PWND FASTCALL ValidateHwndNoErr(HWND hWnd)
Definition: window.c:96
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
#define SC_KEYMENU
Definition: winuser.h:2550
struct _DESKTOP * rpdesk
Definition: ntuser.h:189
#define SC_RESTORE
Definition: winuser.h:2552
#define SW_SHOWNOACTIVATE
Definition: winuser.h:768
long y
Definition: polytest.cpp:48
BOOL FASTCALL IntClientToScreen(PWND Wnd, LPPOINT lpPoint)
Definition: winpos.c:198
#define WM_CONTEXTMENU
Definition: richedit.h:64
#define WM_LBUTTONDOWN
Definition: winuser.h:1752
HWND FASTCALL co_UserSetFocus(PWND Window)
Definition: focus.c:1196
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
HGDIOBJ FASTCALL IntGetSysColorBrush(INT Object)
Definition: stockobj.c:317
__kernel_entry W32KAPI HBITMAP APIENTRY NtGdiCreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
long x
Definition: polytest.cpp:48
#define TPM_SYSTEM_MENU
Definition: undocuser.h:71
BOOL FASTCALL IntReleaseCapture(VOID)
Definition: focus.c:1412
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
#define SIZE_MAXIMIZED
Definition: winuser.h:2461
#define WM_CTLCOLORDLG
Definition: winuser.h:1746
#define WM_GETHOTKEY
Definition: winuser.h:1635
#define SW_HIDE
Definition: winuser.h:762
HWND FASTCALL UserGetActiveWindow(VOID)
Definition: focus.c:1311
#define VK_RMENU
Definition: winuser.h:2241
uint16_t * PWSTR
Definition: typedefs.h:54
#define WM_CLIENTSHUTDOWN
Definition: undocuser.h:35
#define WM_MOUSEWHEEL
Definition: treelist.c:96
static const WCHAR empty[]
Definition: main.c:49
#define WM_NCCALCSIZE
Definition: winuser.h:1667
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define WM_CTLCOLORSTATIC
Definition: winuser.h:1748
#define WNDS_SENDNCPAINT
Definition: ntuser.h:584
#define WM_GETTEXT
Definition: winuser.h:1600
VOID FASTCALL IntNotifyWinEvent(DWORD Event, PWND pWnd, LONG idObject, LONG idChild, DWORD flags)
Definition: event.c:179
DWORD dwForegroundFlashCount
Definition: sysparams.h:157
LRESULT FASTCALL DefWndHandleSysCommand(PWND pWnd, WPARAM wParam, LPARAM lParam)
Definition: defwnd.c:124
#define WARN(fmt,...)
Definition: debug.h:111
#define MAKELPARAM(l, h)
Definition: winuser.h:3915
DWORD_PTR dwContextId
Definition: winuser.h:3258
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
Definition: thread.c:805
#define SIZE_RESTORED
Definition: winuser.h:2459
BOOLEAN FASTCALL co_WinPosSetWindowPos(PWND Window, HWND WndInsertAfter, INT x, INT y, INT cx, INT cy, UINT flags)
Definition: winpos.c:1658
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToMultiByteSize(PULONG MbSize, PCWCH UnicodeString, ULONG UnicodeSize)
#define HandleToUlong(h)
Definition: basetsd.h:79
HANDLE hItemHandle
Definition: winuser.h:3257
static HDC
Definition: imagelist.c:92
#define WM_SETREDRAW
Definition: winuser.h:1598
ush Pos
Definition: deflate.h:92
#define SC_SCREENSAVE
Definition: mmsystem.h:933
#define OBJID_WINDOW
Definition: winable.h:15
COLORREF FASTCALL IntGdiSetBkColor(_In_ HDC hDC, _In_ COLORREF Color)
#define NULLREGION
Definition: wingdi.h:360
__kernel_entry W32KAPI HBITMAP APIENTRY NtGdiSelectBitmap(_In_ HDC hdc, _In_ HBITMAP hbm)
#define WH_SHELL
Definition: winuser.h:40
LONG top
Definition: windef.h:292
static __inline VOID UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry)
Definition: object.h:25
#define DI_COMPAT
Definition: wingdi.h:68
#define CTLCOLOR_SCROLLBAR
Definition: winuser.h:946
#define GET_X_LPARAM(lp)
Definition: windowsx.h:274
static HRGN hRgn
Definition: mapping.c:33
#define CS_NOCLOSE
Definition: winuser.h:649
#define DCX_USESTYLE
Definition: GetDCEx.c:10
#define MA_ACTIVATE
Definition: winuser.h:2455
#define VK_LEFT
Definition: winuser.h:2178
#define WM_SHOWWINDOW
Definition: winuser.h:1610
BOOL FASTCALL IntShowOwnedPopups(PWND OwnerWnd, BOOL fShow)
Definition: window.c:4427
#define WM_MOVE
Definition: winuser.h:1592
HDC FASTCALL UserGetWindowDC(PWND Wnd)
Definition: windc.c:946
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
#define WM_NCRBUTTONDOWN
Definition: winuser.h:1677
#define SC_HOTKEY
Definition: winuser.h:2555
HDC FASTCALL UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags)
#define WM_CTLCOLOR
Definition: windowsx.h:4
BOOL WINAPI IntTrackPopupMenuEx(PMENU menu, UINT wFlags, int x, int y, PWND pWnd, LPTPMPARAMS lpTpm)
Definition: menu.c:4415
#define HTBOTTOMLEFT
Definition: winuser.h:2448
#define SC_MOUSEMENU
Definition: winuser.h:2549
BOOL FASTCALL UserDereferenceObject(PVOID Object)
Definition: object.c:610
struct _CURICON_OBJECT * spcur
Definition: ntuser.h:554
struct @1567 Msg[]
#define WM_NCHITTEST
Definition: winuser.h:1668
UINT_PTR WPARAM
Definition: windef.h:207
#define VK_LWIN
Definition: winuser.h:2189
#define VK_TAB
Definition: winuser.h:2153
#define VK_DOWN
Definition: winuser.h:2181
#define HTRIGHT
Definition: winuser.h:2443
#define WS_CHILD
Definition: pedump.c:617
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
Definition: acpixf.h:716
RECT rcClient
Definition: ntuser.h:681
#define VK_MENU
Definition: winuser.h:2158
#define RDW_FRAME
Definition: winuser.h:1198
LONG left
Definition: windef.h:291
VOID FASTCALL IntGetClientRect(PWND WindowObject, RECTL *Rect)
Definition: winpos.c:91
UINT uFlags
Definition: api.c:60
HWND FASTCALL IntGetCaptureWindow(VOID)
Definition: focus.c:32
#define WNDS2_STARTPAINT
Definition: ntuser.h:611
BOOL NTAPI UserOpenClipboard(HWND hWnd)
Definition: clipboard.c:470
#define VK_ESCAPE
Definition: winuser.h:2168
#define SW_RESTORE
Definition: winuser.h:773
LONG right
Definition: windef.h:293
#define WM_CTLCOLORLISTBOX
Definition: winuser.h:1744
PREGION FASTCALL REGION_LockRgn(_In_ HRGN hrgn)
Definition: region.c:2380
#define FASTCALL
Definition: nt_native.h:50
#define COLOR_WINDOW
Definition: winuser.h:908
LRESULT FASTCALL DefWndHandleWindowPosChanging(PWND pWnd, WINDOWPOS *Pos)
Definition: defwnd.c:69
LRESULT FASTCALL DefWndGetIcon(PWND pWnd, WPARAM wParam, LPARAM lParam)
Definition: defwnd.c:472
PSERVERINFO gpsi
Definition: main.c:27
int32_t INT
Definition: typedefs.h:56
#define VK_RETURN
Definition: winuser.h:2155
struct _CURICON_OBJECT * spicn
Definition: ntuser.h:553
& rect
Definition: startmenu.cpp:1413
WPARAM wParam
Definition: combotst.c:138
#define DCX_INTERSECTRGN
Definition: winuser.h:2083
#define WM_PRINTCLIENT
Definition: richedit.h:70
#define HTTOPLEFT
Definition: winuser.h:2445
#define DCX_WINDOW
Definition: winuser.h:2074
LRESULT DefWndHandleSetCursor(PWND pWnd, WPARAM wParam, LPARAM lParam)
Definition: defwnd.c:242
#define QF_FF10STATUS
Definition: msgqueue.h:98
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
DWORD FASTCALL UserGetKeyState(DWORD dwKey)
Definition: msgqueue.c:221
#define QF_FMENUSTATUS
Definition: msgqueue.h:97
_SEH2_TRY
Definition: create.c:4250
#define DC_ICON
Definition: winuser.h:429
#define ICON_SMALL
Definition: tnclass.cpp:48
#define VK_F10
Definition: winuser.h:2218
HDC hdc2
Definition: SelectObject.c:10
#define WM_NCPAINT
Definition: winuser.h:1669
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:93
#define TPM_RIGHTBUTTON
Definition: winuser.h:2334
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
#define COLOR_3DFACE
Definition: winuser.h:919
#define WM_CTLCOLORBTN
Definition: winuser.h:1745
#define HTSYSMENU
Definition: winuser.h:2431
UINT style
Definition: ntuser.h:548
#define VK_UP
Definition: winuser.h:2179
PWND FASTCALL co_IntFindChildWindowToOwner(PWND Root, PWND Owner)
Definition: defwnd.c:215
#define DC_NC
Definition: winuser.h:440
DWORD dwSRVIFlags
Definition: ntuser.h:1004
#define WM_NCACTIVATE
Definition: winuser.h:1670
BOOL NTAPI UserCloseClipboard(VOID)
Definition: clipboard.c:527
#define WS_MINIMIZE
Definition: pedump.c:622
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
BOOLEAN co_UserDestroyWindow(PVOID Object)
Definition: window.c:2629
static __inline VOID UserDerefObjectCo(PVOID obj)
Definition: object.h:38
#define WM_NCRBUTTONUP
Definition: winuser.h:1678
#define WM_SETCURSOR
Definition: winuser.h:1618
#define COLOR_SCROLLBAR
Definition: winuser.h:902
BOOL FASTCALL GreDPtoLP(HDC, LPPOINT, INT)
Definition: dcutil.c:7
#define FIXME(fmt,...)
Definition: debug.h:110
#define WM_CTLCOLORSCROLLBAR
Definition: winuser.h:1747
#define WM_SYSCHAR
Definition: winuser.h:1697
#define SM_CXICON
Definition: winuser.h:962
#define VK_F4
Definition: winuser.h:2212
#define CHILDID_SELF
Definition: winable.h:14
#define SC_MAXIMIZE
Definition: winuser.h:2542
struct _WND * spwndOwner
Definition: ntuser.h:679
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
LRESULT NC_DoNCPaint(PWND pWnd, HDC hDC, INT Flags)
Definition: nonclient.c:1021
#define VK_SHIFT
Definition: winuser.h:2156
THRDESKHEAD head
Definition: ntuser.h:659
const WCHAR * str
#define CF_BITMAP
Definition: constants.h:397
#define LN_START_SCREENSAVE
Definition: undocuser.h:119
Definition: object.h:3
#define MAKELONG(a, b)
Definition: typedefs.h:248
#define DCX_KEEPCLIPRGN
Definition: undocuser.h:66
smooth NULL
Definition: ftsmooth.c:416
#define WM_ICONERASEBKGND
Definition: winuser.h:1624
HBRUSH FASTCALL DefWndControlColor(HDC hDC, UINT ctlType)
Definition: defwnd.c:33
static HWND hwndParent
Definition: cryptui.c:300
LRESULT FASTCALL DefWndHandleWindowPosChanged(PWND pWnd, WINDOWPOS *Pos)
Definition: defwnd.c:95
__kernel_entry W32KAPI BOOL APIENTRY NtGdiBitBlt(_In_ HDC hdcDst, _In_ INT x, _In_ INT y, _In_ INT cx, _In_ INT cy, _In_opt_ HDC hdcSrc, _In_ INT xSrc, _In_ INT ySrc, _In_ DWORD rop4, _In_ DWORD crBackColor, _In_ FLONG fl)
#define WM_KEYDOWN
Definition: winuser.h:1691
#define WM_CTLCOLORMSGBOX
Definition: winuser.h:1742
LONG_PTR LPARAM
Definition: windef.h:208
INT FASTCALL co_UserGetUpdateRgn(PWND Window, HRGN hRgn, BOOL bErase)
Definition: painting.c:1770
PWND FASTCALL co_GetDesktopWindow(PWND pWnd)
Definition: desktop.c:1330
COLORREF FASTCALL IntGdiSetTextColor(HDC hDC, COLORREF color)
Definition: dcutil.c:172
#define WH_CBT
Definition: winuser.h:35
#define DI_DEFAULTSIZE
Definition: wingdi.h:69
POINT MousePos
Definition: winuser.h:3259
Definition: region.h:7
#define WM_MOUSEACTIVATE
Definition: winuser.h:1619
Definition: sacdrv.h:287
#define HTERROR
Definition: winuser.h:2426
#define WM_SETTEXT
Definition: winuser.h:1599
LARGE_UNICODE_STRING strName
Definition: ntuser.h:700
VOID FASTCALL DefWndScreenshot(PWND pWnd)
Definition: defwnd.c:496
PWND FASTCALL UserGetWindowObject(HWND hWnd)
Definition: window.c:103
HWND FASTCALL UserGetForegroundWindow(VOID)
Definition: focus.c:1303
#define WM_RBUTTONDOWN
Definition: winuser.h:1755
int iContextType
Definition: winuser.h:3255
#define DC_ACTIVE
Definition: winuser.h:427
void MENU_EndMenu(PWND pwnd)
Definition: menu.c:2680
DWORD FASTCALL IntGetWindowContextHelpId(PWND pWnd)
Definition: window.c:410
LONG NTAPI UserGetSystemMetrics(ULONG Index)
Definition: metric.c:180
UINT FASTCALL co_WinPosGetMinMaxInfo(PWND Window, POINT *MaxSize, POINT *MaxPos, POINT *MinTrack, POINT *MaxTrack)
Definition: winpos.c:931
#define WM_APPCOMMAND
Definition: winuser.h:1843
BOOLEAN FASTCALL co_WinPosShowWindow(PWND Wnd, INT Cmd)
Definition: winpos.c:2384
HWND hwndSAS
Definition: winsta.c:24
#define UserHMGetHandle(obj)
Definition: ntuser.h:208
#define KF_REPEAT
Definition: winuser.h:2404
#define WS_CAPTION
Definition: pedump.c:624
struct tagHELPINFO HELPINFO
root entry for file system trees
Definition: entries.h:148
BOOL FASTCALL DefSetText(HWND hWnd, PCWSTR String, BOOL Ansi)
Definition: defwnd.c:64
UINT_PTR IDMenu
Definition: ntuser.h:695
VOID FASTCALL DefWndPrint(PWND pwnd, HDC hdc, ULONG uFlags)
Definition: defwnd.c:363
#define TRACE(s)
Definition: solgame.cpp:4
DBG_DEFAULT_CHANNEL(UserDefwnd)
#define HTTOPRIGHT
Definition: winuser.h:2446
const DWORD Style
Definition: appswitch.c:71
r parent
Definition: btrfs.c:2659
HBRUSH hbrBackground
Definition: ntuser.h:555
#define PRF_ERASEBKGND
Definition: winuser.h:2480
PMENU FASTCALL IntGetSystemMenu(PWND Window, BOOL bRevert)
Definition: menu.c:5238
__kernel_entry W32KAPI BOOL APIENTRY NtGdiUnrealizeObject(_In_ HANDLE h)
__wchar_t WCHAR
Definition: xmlstorage.h:180
PWND MENU_IsMenuActive(VOID)
Definition: menu.c:2668
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define WM_SIZE
Definition: winuser.h:1593
#define PRF_NONCLIENT
Definition: winuser.h:2478
#define SWP_NOACTIVATE
Definition: winuser.h:1227
DWORD COLORREF
Definition: windef.h:285
#define COLOR_WINDOWTEXT
Definition: winuser.h:911
#define RDW_ERASE
Definition: winuser.h:1197
#define UlongToHandle(ul)
Definition: basetsd.h:97
#define SWP_STATECHANGED
Definition: msg.c:47
#define WM_NCUAHDRAWCAPTION
Definition: undocuser.h:45
#define DC_FRAME
Definition: undocuser.h:147
#define WM_WINDOWPOSCHANGING
Definition: winuser.h:1643
INT WINAPI DrawTextExWorker(HDC hdc, LPWSTR str, INT i_count, LPRECT rect, UINT flags, LPDRAWTEXTPARAMS dtp)
Definition: text.c:1072
#define WM_CLOSE
Definition: winuser.h:1603
#define ISITHOOKED(HookId)
Definition: hook.h:6
HANDLE FASTCALL UserGetProp(_In_ PWND Window, _In_ ATOM Atom, _In_ BOOLEAN SystemProp)
Definition: prop.c:46
#define WINAPI
Definition: msvc.h:8
#define WM_KEYUP
Definition: winuser.h:1692
#define CTLCOLOR_EDIT
Definition: winuser.h:942
unsigned short WORD
Definition: ntddk_ex.h:93
SPIVALUES gspv
Definition: sysparams.c:17
#define HTBOTTOM
Definition: winuser.h:2447
DWORD FASTCALL IntGetSysColor(INT nIndex)
Definition: stockobj.c:323
HDC FASTCALL IntBeginPaint(PWND Window, PPAINTSTRUCT Ps)
Definition: painting.c:1422
#define HELPINFO_MENUITEM
Definition: winuser.h:1157
#define SIZE_MINIMIZED
Definition: winuser.h:2460
#define PRF_CHECKVISIBLE
Definition: winuser.h:2477
#define WM_RBUTTONUP
Definition: winuser.h:1756
#define SW_MINIMIZE
Definition: winuser.h:770
#define WM_PRINT
Definition: winuser.h:1841
GLbitfield flags
Definition: glext.h:7161
#define SC_PREVWINDOW
Definition: winuser.h:2545
#define WM_PAINT
Definition: winuser.h:1602
UINT FASTCALL DefWndGetHotKey(PWND pWnd)
Definition: hotkey.c:313
LRESULT APIENTRY co_HOOK_CallHooks(INT HookId, INT Code, WPARAM wParam, LPARAM lParam)
Definition: hook.c:1089
PWND FASTCALL UserGetDesktopWindow(VOID)
Definition: desktop.c:1349
#define RDW_VALIDATE
Definition: winuser.h:1204
LRESULT NC_HandleNCCalcSize(PWND Wnd, WPARAM wparam, RECTL *Rect, BOOL Suspended)
Definition: nonclient.c:1227
struct Point Point
#define SM_CYICON
Definition: winuser.h:963
BOOL FASTCALL IntIsWindowVisible(PWND Wnd)
Definition: window.c:170
#define WNDS_SYNCPAINTPENDING
Definition: ntuser.h:596
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
Definition: exintrin.c:102
static const WCHAR L[]
Definition: oid.c:1250
LRESULT FASTCALL co_IntSendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
Definition: message.c:1281
HDC hdc
Definition: main.c:9
#define VK_LMENU
Definition: winuser.h:2240
#define CTLCOLOR_LISTBOX
Definition: winuser.h:943
#define WM_CANCELMODE
Definition: winuser.h:1617
#define DI_NORMAL
Definition: wingdi.h:72
GLenum GLsizei len
Definition: glext.h:6722
#define WM_LBUTTONDBLCLK
Definition: winuser.h:1754
#define SRVINFO_APIHOOK
Definition: ntuser.h:911
#define LRESULT
Definition: ole.h:14
BOOL FASTCALL IntScreenToClient(PWND Wnd, LPPOINT lpPoint)
Definition: winpos.c:212
RECT rcWindow
Definition: ntuser.h:680
ATOM atomIconProp
Definition: ntuser.h:1019
UINT cbSize
Definition: winuser.h:3254
#define WM_LOGONNOTIFY
Definition: undocuser.h:37
#define MA_NOACTIVATE
Definition: winuser.h:2457
#define HTBOTTOMRIGHT
Definition: winuser.h:2449
#define VK_RWIN
Definition: winuser.h:2190
#define WM_USER
Definition: winuser.h:1856
__kernel_entry W32KAPI HDC APIENTRY NtGdiCreateCompatibleDC(_In_opt_ HDC hdc)
PWND FASTCALL UserGetAncestor(PWND Wnd, UINT Type)
Definition: window.c:3129
#define VK_RIGHT
Definition: winuser.h:2180
#define SC_MINIMIZE
Definition: winuser.h:2540
BOOL NTAPI UserEmptyClipboard(VOID)
Definition: clipboard.c:662
#define SWP_NOSIZE
Definition: winuser.h:1230
#define ERR(fmt,...)
Definition: debug.h:109
#define HTCAPTION
Definition: winuser.h:2430
Definition: ntuser.h:657
struct _USER_MESSAGE_QUEUE * MessageQueue
Definition: win32.h:88
LRESULT NC_HandleNCLButtonDblClk(PWND pWnd, WPARAM wParam, LPARAM lParam)
Definition: nonclient.c:1589
static HDC hDC
Definition: 3dtext.c:33
VOID UserDrawCaptionBar(PWND pWnd, HDC hDC, INT Flags)
Definition: nonclient.c:879
_SEH2_END
Definition: create.c:4424
INT FASTCALL DefWndSetHotKey(PWND pWnd, WPARAM wParam)
Definition: hotkey.c:340
VOID MENU_TrackKbdMenuBar(PWND pwnd, UINT wParam, WCHAR wChar)
Definition: menu.c:4354
#define WM_ACTIVATE
Definition: winuser.h:1594
struct _WND * spwndLastActive
Definition: ntuser.h:703
BOOL FASTCALL co_UserRedrawWindow(PWND Window, const RECTL *UpdateRect, PREGION UpdateRgn, ULONG Flags)
Definition: painting.c:876
HICON hIcon
Definition: msconfig.c:44
VOID FASTCALL DefWndDoSizeMove(PWND pwnd, WORD wParam)
Definition: nonclient.c:239
#define RDW_ALLCHILDREN
Definition: winuser.h:1207
#define WM_SYSKEYUP
Definition: winuser.h:1696
LRESULT FASTCALL DefWndSetIcon(PWND pWnd, WPARAM wParam, LPARAM lParam)
Definition: defwnd.c:434
#define WM_CTLCOLOREDIT
Definition: winuser.h:1743
FORCEINLINE BOOL IntEqualRect(RECTL *lprc1, RECTL *lprc2)
Definition: winpos.h:48
#define SC_SIZE
Definition: winuser.h:2538
#define WM_MBUTTONDOWN
Definition: winuser.h:1758
PWND FASTCALL IntGetParent(PWND Wnd)
Definition: window.c:185
DWORD state
Definition: ntuser.h:665
int iCtrlId
Definition: winuser.h:3256
INT FASTCALL IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints)
Definition: winpos.c:143
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define PRF_OWNED
Definition: winuser.h:2482
LRESULT NC_HandleNCRButtonDown(PWND pwnd, WPARAM wParam, LPARAM lParam)
Definition: nonclient.c:1647
#define min(a, b)
Definition: monoChain.cc:55
#define WS_POPUP
Definition: pedump.c:616
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
Definition: rtlfuncs.h:1557
BOOL FASTCALL IntEndPaint(PWND Wnd, PPAINTSTRUCT Ps)
Definition: painting.c:1518
unsigned int UINT
Definition: ndis.h:50
ATOM atomIconSmProp
Definition: ntuser.h:1018
BOOL UserPaintCaption(PWND pWnd, INT Flags)
Definition: defwnd.c:396
#define VK_SPACE
Definition: winuser.h:2173
INT FASTCALL UserReleaseDC(PWND Window, HDC hDc, BOOL EndPaint)
Definition: windc.c:917
VOID co_IntShellHookNotify(WPARAM Message, WPARAM wParam, LPARAM lParam)
Definition: desktop.c:1656
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define KF_ALTDOWN
Definition: winuser.h:2403
#define GET_Y_LPARAM(lp)
Definition: windowsx.h:275
#define HTVSCROLL
Definition: winuser.h:2436
#define WM_WINDOWPOSCHANGED
Definition: winuser.h:1644
INT FASTCALL IntMenuItemFromPoint(PWND pWnd, HMENU hMenu, POINT ptScreen)
Definition: menu.c:1516
VOID FASTCALL REGION_UnlockRgn(_In_ PREGION prgn)
Definition: region.c:2395
#define SC_MOVE
Definition: winuser.h:2539
#define RDW_ERASENOW
Definition: winuser.h:1205
#define SC_CLOSE
Definition: winuser.h:2546
#define WM_NCUAHDRAWFRAME
Definition: undocuser.h:46
#define HCBT_MOVESIZE
Definition: winuser.h:55
#define WM_SYSKEYDOWN
Definition: winuser.h:1695
#define TPM_LEFTBUTTON
Definition: winuser.h:2333
struct _WND * spwndParent
Definition: ntuser.h:677
ULONG FASTCALL IntSetStyle(PWND pwnd, ULONG set_bits, ULONG clear_bits)
Definition: window.c:124
#define HIWORD(l)
Definition: typedefs.h:246
FORCEINLINE BOOL RECTL_bIsEmptyRect(_In_ const RECTL *prcl)
Definition: rect.h:44
unsigned int ULONG
Definition: retypes.h:1
#define SWP_NOCLIENTMOVE
Definition: msg.h:30
#define SYSTEMCUR(func)
Definition: cursoricon.h:129
DWORD state2
Definition: ntuser.h:666
LONG bottom
Definition: windef.h:294
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE Child
Definition: acpixf.h:716
#define IS_KEY_DOWN(ks, vk)
Definition: input.h:98
#define SWP_NOMOVE
Definition: winuser.h:1229
VOID MENU_TrackMouseMenuBar(PWND pWnd, ULONG ht, POINT pt)
Definition: menu.c:4324
#define WNDS_FORCEMENUDRAW
Definition: ntuser.h:588
static HBITMAP hbitmap
#define WA_INACTIVE
Definition: winuser.h:2576
BOOL FASTCALL UserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
Definition: sysparams.c:2066
static HBITMAP
Definition: button.c:44
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define SC_NEXTWINDOW
Definition: winuser.h:2544
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
#define WM_ERASEBKGND
Definition: winuser.h:1607
LRESULT NC_HandleNCLButtonDown(PWND pWnd, WPARAM wParam, LPARAM lParam)
Definition: nonclient.c:1498
#define LN_MESSAGE_BEEP
Definition: undocuser.h:118
#define HTCLIENT
Definition: winuser.h:2429
#define PRF_CLIENT
Definition: winuser.h:2479
WCHAR * LPWSTR
Definition: xmlstorage.h:184
DWORD FASTCALL GetNCHitEx(PWND pWnd, POINT pt)
Definition: nonclient.c:1906
LONG_PTR LRESULT
Definition: windef.h:209
BOOL FASTCALL co_IntSetForegroundWindow(PWND Window)
Definition: focus.c:1432
LRESULT NC_HandleNCActivate(PWND Wnd, WPARAM wParam, LPARAM lParam)
Definition: nonclient.c:1361
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
Arabic default style
Definition: afstyles.h:93
#define PRF_CHILDREN
Definition: winuser.h:2481
#define WS_VISIBLE
Definition: pedump.c:620
#define SWP_NOCLIENTSIZE
Definition: msg.h:29
#define memset(x, y, z)
Definition: compat.h:39
#define SW_MAXIMIZE
Definition: winuser.h:766
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
#define WM_SYSCOMMAND
Definition: winuser.h:1717
#define QF_FMENUSTATUSBREAK
Definition: msgqueue.h:96
LPARAM lParam
Definition: combotst.c:139
#define VK_SNAPSHOT
Definition: winuser.h:2185
#define LOWORD(l)
Definition: pedump.c:82
#define DC_TEXT
Definition: winuser.h:430
#define SRCCOPY
Definition: wingdi.h:332
HANDLE NTAPI UserSetClipboardData(UINT fmt, HANDLE hData, PSETCLIPBDATA scd)
Definition: clipboard.c:995
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
Definition: error.c:27
#define CS_PARENTDC
Definition: winuser.h:651
#define WM_KEYF1
Definition: msg.c:52
#define WNDS_HASCAPTION
Definition: ntuser.h:576
#define WM_CBT
Definition: undocuser.h:61
LRESULT IntClientShutdown(IN PWND pWindow, IN WPARAM wParam, IN LPARAM lParam)
Definition: shutdown.c:22
struct Rect Rect
#define RDW_INVALIDATE
Definition: winuser.h:1200
#define ICON_BIG
Definition: tnclass.cpp:51
#define WM_NCLBUTTONDBLCLK
Definition: winuser.h:1676
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
Definition: defwnd.c:17
VOID FASTCALL UserReferenceObject(PVOID obj)
Definition: object.c:697
uchar outbuf[M_BLOCK_OUT]
Definition: unzcrash.c:41
PCLS pcls
Definition: ntuser.h:684
#define WS_MAXIMIZE
Definition: pedump.c:623
DWORD style
Definition: ntuser.h:670
BOOL FASTCALL IntGetWindowRect(PWND Wnd, RECTL *Rect)
Definition: winpos.c:120