ReactOS  0.4.15-dev-985-gd905dd5
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 | DC_FRAME); // DCFRAME added as fix for CORE-10855.
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  BOOL IsTaskBar;
543  DWORD Style;
544  DWORD ExStyle;
545 
546  if (Msg > WM_USER) return 0;
547 
548  switch (Msg)
549  {
550  case WM_DEVICECHANGE:
551  return TRUE;
552 
553  case WM_GETTEXTLENGTH:
554  {
555  PWSTR buf;
556  ULONG len;
557 
558  if (Wnd != NULL && Wnd->strName.Length != 0)
559  {
560  buf = Wnd->strName.Buffer;
561  if (buf != NULL &&
563  buf,
564  Wnd->strName.Length)))
565  {
566  lResult = (LRESULT) (Wnd->strName.Length / sizeof(WCHAR));
567  }
568  }
569  else lResult = 0L;
570 
571  break;
572  }
573 
574  case WM_GETTEXT: // FIXME: Handle Ansi
575  {
576  PWSTR buf = NULL;
577  PWSTR outbuf = (PWSTR)lParam;
578 
579  if (Wnd != NULL && wParam != 0)
580  {
581  if (Wnd->strName.Buffer != NULL)
582  buf = Wnd->strName.Buffer;
583  else
584  outbuf[0] = L'\0';
585 
586  if (buf != NULL)
587  {
588  if (Wnd->strName.Length != 0)
589  {
590  lResult = min(Wnd->strName.Length / sizeof(WCHAR), wParam - 1);
591  RtlCopyMemory(outbuf,
592  buf,
593  lResult * sizeof(WCHAR));
594  outbuf[lResult] = L'\0';
595  }
596  else
597  outbuf[0] = L'\0';
598  }
599  }
600  break;
601  }
602 
603  case WM_SETTEXT: // FIXME: Handle Ansi
604  {
605  DefSetText(Wnd, (PCWSTR)lParam);
606 
607  if ((Wnd->style & WS_CAPTION) == WS_CAPTION)
609  IntNotifyWinEvent(EVENT_OBJECT_NAMECHANGE, Wnd, OBJID_WINDOW, CHILDID_SELF, 0);
610  lResult = 1;
611  break;
612  }
613 
614  case WM_SYSCOMMAND:
615  {
616  TRACE("hwnd %p WM_SYSCOMMAND %lx %lx\n", Wnd->head.h, wParam, lParam );
617  lResult = DefWndHandleSysCommand(Wnd, wParam, lParam);
618  break;
619  }
620 
621  case WM_SHOWWINDOW:
622  {
623  if ((Wnd->style & WS_VISIBLE) && wParam) break;
624  if (!(Wnd->style & WS_VISIBLE) && !wParam) break;
625  if (!Wnd->spwndOwner) break;
626  if (LOWORD(lParam))
627  {
629  }
630  break;
631  }
632 
633  case WM_CLIENTSHUTDOWN:
634  return IntClientShutdown(Wnd, wParam, lParam);
635 
636  case WM_APPCOMMAND:
637  if ( (Wnd->style & (WS_POPUP|WS_CHILD)) != WS_CHILD &&
638  Wnd != co_GetDesktopWindow(Wnd) )
639  {
640  if (!co_HOOK_CallHooks(WH_SHELL, HSHELL_APPCOMMAND, wParam, lParam))
641  co_IntShellHookNotify(HSHELL_APPCOMMAND, wParam, lParam);
642  break;
643  }
644  UserRefObjectCo(Wnd->spwndParent, &Ref);
647  break;
648 
649  case WM_KEYF1:
650  {
651  HELPINFO hi;
652  HMENU hMenu = UlongToHandle(Wnd->IDMenu);
653  PWND pwndActive = MENU_IsMenuActive();
654  hi.cbSize = sizeof(HELPINFO);
655  hi.MousePos = gpsi->ptCursor;
657  hi.hItemHandle = pwndActive ? UserHMGetHandle(pwndActive) : UserHMGetHandle(Wnd);
658  hi.iCtrlId = (Wnd->style & (WS_POPUP|WS_CHILD)) == WS_CHILD ? IntMenuItemFromPoint(Wnd, hMenu, hi.MousePos) : 0;
660 
661  co_IntSendMessage( UserHMGetHandle(Wnd), WM_HELP, 0, (LPARAM)&hi );
662  break;
663  }
664 
665  case WM_SETICON:
666  {
667  return DefWndSetIcon(Wnd, wParam, lParam);
668  }
669 
670  case WM_GETICON:
671  {
672  return DefWndGetIcon(Wnd, wParam, lParam);
673  }
674 
675  case WM_HELP:
676  {
677  PWND Parent = IntGetParent(Wnd);
679  break;
680  }
681 
682  case WM_LBUTTONDOWN:
683  case WM_RBUTTONDOWN:
684  case WM_MBUTTONDOWN:
685  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK);
686  break;
687 
688  case WM_NCLBUTTONDOWN:
689  return NC_HandleNCLButtonDown(Wnd, wParam, lParam);
690 
691  case WM_NCRBUTTONDOWN:
692  return NC_HandleNCRButtonDown(Wnd, wParam, lParam);
693 
694  case WM_LBUTTONDBLCLK:
696 
697  case WM_NCLBUTTONDBLCLK:
698  return NC_HandleNCLButtonDblClk(Wnd, wParam, lParam);
699 
700  case WM_RBUTTONUP:
701  {
702  POINT Pt;
703 
704  Pt.x = GET_X_LPARAM(lParam);
705  Pt.y = GET_Y_LPARAM(lParam);
706  IntClientToScreen(Wnd, &Pt);
707  lParam = MAKELPARAM(Pt.x, Pt.y);
709  break;
710  }
711 
712  case WM_NCRBUTTONUP:
713  /*
714  * FIXME : we must NOT send WM_CONTEXTMENU on a WM_NCRBUTTONUP (checked
715  * in Windows), but what _should_ we do? According to MSDN :
716  * "If it is appropriate to do so, the system sends the WM_SYSCOMMAND
717  * message to the window". When is it appropriate?
718  */
719  ERR("WM_NCRBUTTONUP\n");
720  break;
721 
722  case WM_XBUTTONUP:
723  case WM_NCXBUTTONUP:
724  if (HIWORD(wParam) == XBUTTON1 || HIWORD(wParam) == XBUTTON2)
725  {
727  MAKELPARAM(LOWORD(wParam), FAPPCOMMAND_MOUSE | HIWORD(wParam)));
728  }
729  break;
730 
731 
732  case WM_CONTEXTMENU:
733  {
734  if (Wnd->style & WS_CHILD)
735  {
737  }
738  else
739  {
740  POINT Pt;
741  LONG_PTR Style;
742  LONG HitCode;
743 
744  Style = Wnd->style;
745 
746  Pt.x = GET_X_LPARAM(lParam);
747  Pt.y = GET_Y_LPARAM(lParam);
748  if (Style & WS_CHILD)
749  {
750  IntScreenToClient(IntGetParent(Wnd), &Pt);
751  }
752 
753  HitCode = GetNCHitEx(Wnd, Pt);
754 
755  if (HitCode == HTCAPTION || HitCode == HTSYSMENU)
756  {
757  PMENU SystemMenu;
758  UINT Flags;
759 
760  if((SystemMenu = IntGetSystemMenu(Wnd, FALSE)))
761  {
762  MENU_InitSysMenuPopup(SystemMenu, Wnd->style, Wnd->pcls->style, HitCode);
763 
764  if(HitCode == HTCAPTION)
766  else
768 
769  IntTrackPopupMenuEx(SystemMenu, Flags|TPM_SYSTEM_MENU, Pt.x, Pt.y, Wnd, NULL);
770  }
771  }
772  if (HitCode == HTHSCROLL || HitCode == HTVSCROLL)
773  {
774  WARN("Scroll Menu Not Supported\n");
775  }
776  }
777  break;
778  }
779 
780  case WM_KEYDOWN:
781  if (wParam == VK_F10)
782  {
783  pti->MessageQueue->QF_flags |= QF_FF10STATUS;
784 
785  if (UserGetKeyState(VK_SHIFT) & 0x8000)
786  {
788  }
789  }
791  {
792  HWND hwndTop = UserGetForegroundWindow();
793  PWND topWnd = UserGetWindowObject(hwndTop);
794 
795  /* Test for typical TaskBar ExStyle Values */
796  ExStyle = (topWnd->ExStyle & WS_EX_TOOLWINDOW);
797  TRACE("ExStyle is '%x'.\n", ExStyle);
798 
799  /* Test for typical TaskBar Style Values */
800  Style = (topWnd->style & (WS_POPUP | WS_VISIBLE |
802  TRACE("Style is '%x'.\n", Style);
803 
804  /* Test for masked typical TaskBar Style and ExStyles to detect TaskBar */
805  IsTaskBar = (Style == (WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN))
806  && (ExStyle == WS_EX_TOOLWINDOW);
807  TRACE("This %s the TaskBar.\n", IsTaskBar ? "is" : "is not");
808 
809  if (topWnd && !IsTaskBar) /* Second test is so we are not touching the Taskbar */
810  {
811  if ((topWnd->style & WS_THICKFRAME) == 0)
812  {
813  return 0;
814  }
815 
816  if (wParam == VK_DOWN)
817  {
818  if (topWnd->style & WS_MAXIMIZE)
820  else
822  }
823  else if (wParam == VK_UP)
824  {
825  RECT currentRect;
826  if ((topWnd->InternalPos.NormalRect.right == topWnd->InternalPos.NormalRect.left) ||
827  (topWnd->InternalPos.NormalRect.top == topWnd->InternalPos.NormalRect.bottom))
828  {
829  currentRect = topWnd->rcWindow;
830  }
831  else
832  {
833  currentRect = topWnd->InternalPos.NormalRect;
834  }
836 
837  // save normal rect if maximazing snapped window
838  topWnd->InternalPos.NormalRect = currentRect;
839  }
840  else if (wParam == VK_LEFT || wParam == VK_RIGHT)
841  {
842  RECT snapRect, normalRect, windowRect;
843  BOOL snapped;
844  normalRect = topWnd->InternalPos.NormalRect;
845  snapped = (normalRect.left != 0 && normalRect.right != 0 &&
846  normalRect.top != 0 && normalRect.bottom != 0);
847 
848  if (topWnd->style & WS_MAXIMIZE)
849  {
851  snapped = FALSE;
852  }
853  windowRect = topWnd->rcWindow;
854 
855  UserSystemParametersInfo(SPI_GETWORKAREA, 0, &snapRect, 0);
856  if (wParam == VK_LEFT)
857  {
858  snapRect.right = (snapRect.left + snapRect.right) / 2;
859  }
860  else // VK_RIGHT
861  {
862  snapRect.left = (snapRect.left + snapRect.right) / 2;
863  }
864 
865  if (snapped)
866  {
867  // if window was snapped but moved to other location - restore normal size
868  if (!IntEqualRect(&snapRect, &windowRect))
869  {
870  RECT empty = {0, 0, 0, 0};
871  co_WinPosSetWindowPos(topWnd,
872  0,
873  normalRect.left,
874  normalRect.top,
875  normalRect.right - normalRect.left,
876  normalRect.bottom - normalRect.top,
877  0);
878  topWnd->InternalPos.NormalRect = empty;
879  }
880  }
881  else
882  {
883  co_WinPosSetWindowPos(topWnd,
884  0,
885  snapRect.left,
886  snapRect.top,
887  snapRect.right - snapRect.left,
888  snapRect.bottom - snapRect.top,
889  0);
890  topWnd->InternalPos.NormalRect = windowRect;
891  }
892  }
893  }
894  }
895  break;
896 
897  case WM_SYSKEYDOWN:
898  {
899  if (HIWORD(lParam) & KF_ALTDOWN)
900  { /* Previous state, if the key was down before this message,
901  this is a cheap way to ignore autorepeat keys. */
902  if ( !(HIWORD(lParam) & KF_REPEAT) )
903  {
904  if ( ( wParam == VK_MENU ||
905  wParam == VK_LMENU ||
906  wParam == VK_RMENU ) && !(pti->MessageQueue->QF_flags & QF_FMENUSTATUS)) //iMenuSysKey )
907  pti->MessageQueue->QF_flags |= QF_FMENUSTATUS; //iMenuSysKey = 1;
908  else
909  pti->MessageQueue->QF_flags &= ~QF_FMENUSTATUS; //iMenuSysKey = 0;
910  }
911 
912  pti->MessageQueue->QF_flags &= ~QF_FF10STATUS; //iF10Key = 0;
913 
914  if (wParam == VK_F4) /* Try to close the window */
915  {
917  if (!(top->style & CS_NOCLOSE))
919  }
920  else if (wParam == VK_SNAPSHOT) // Alt-VK_SNAPSHOT?
921  {
922  PWND pwnd = Wnd;
923  while (IntGetParent(pwnd) != NULL)
924  {
925  pwnd = IntGetParent(pwnd);
926  }
927  ERR("DefWndScreenshot\n");
928  DefWndScreenshot(pwnd);
929  }
930  else if ( wParam == VK_ESCAPE || wParam == VK_TAB ) // Alt-Tab/ESC Alt-Shift-Tab/ESC
931  {
932  WPARAM wParamTmp;
933  HWND Active = UserGetActiveWindow(); // Noticed MDI problem.
934  if (!Active)
935  {
936  FIXME("WM_SYSKEYDOWN VK_ESCAPE no active\n");
937  break;
938  }
939  wParamTmp = UserGetKeyState(VK_SHIFT) & 0x8000 ? SC_PREVWINDOW : SC_NEXTWINDOW;
941  }
942  }
943  else if( wParam == VK_F10 )
944  {
945  if (UserGetKeyState(VK_SHIFT) & 0x8000)
947  pti->MessageQueue->QF_flags |= QF_FF10STATUS; //iF10Key = 1;
948  }
949  else if( wParam == VK_ESCAPE && (UserGetKeyState(VK_SHIFT) & 0x8000))
951  break;
952  }
953 
954  case WM_KEYUP:
955  case WM_SYSKEYUP:
956  {
957  /* Press and release F10 or ALT */
958  if (((wParam == VK_MENU || wParam == VK_LMENU || wParam == VK_RMENU)
959  && (pti->MessageQueue->QF_flags & (QF_FMENUSTATUS|QF_FMENUSTATUSBREAK)) == QF_FMENUSTATUS /*iMenuSysKey*/) ||
960  ((wParam == VK_F10) && pti->MessageQueue->QF_flags & QF_FF10STATUS /*iF10Key*/))
962  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK|QF_FF10STATUS); //iMenuSysKey = iF10Key = 0;
963  break;
964  }
965 
966  case WM_SYSCHAR:
967  {
968  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK); //iMenuSysKey = 0;
969  if (wParam == VK_RETURN && (Wnd->style & WS_MINIMIZE) != 0)
970  {
972  break;
973  }
974  if ((HIWORD(lParam) & KF_ALTDOWN) && wParam)
975  {
976  if (wParam == VK_TAB || wParam == VK_ESCAPE) break;
977  if (wParam == VK_SPACE && Wnd->style & WS_CHILD)
979  else
981  }
982  else /* check for Ctrl-Esc */
983  if (wParam != VK_ESCAPE) UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_MESSAGE_BEEP, 0); //MessageBeep(0);
984  break;
985  }
986 
987  case WM_CANCELMODE:
988  {
989  pti->MessageQueue->QF_flags &= ~(QF_FMENUSTATUS|QF_FMENUSTATUSBREAK);
990 
991  MENU_EndMenu( Wnd );
992  if (IntGetCaptureWindow() == UserHMGetHandle(Wnd))
993  {
995  }
996  break;
997  }
998 
999  case WM_CLOSE:
1000  co_UserDestroyWindow(Wnd);
1001  break;
1002 
1003  case WM_CTLCOLORMSGBOX:
1004  case WM_CTLCOLOREDIT:
1005  case WM_CTLCOLORLISTBOX:
1006  case WM_CTLCOLORBTN:
1007  case WM_CTLCOLORDLG:
1008  case WM_CTLCOLORSTATIC:
1009  case WM_CTLCOLORSCROLLBAR:
1011 
1012  case WM_CTLCOLOR:
1014 
1015  case WM_SETCURSOR:
1016  {
1017  if (Wnd->style & WS_CHILD)
1018  {
1019  /* with the exception of the border around a resizable wnd,
1020  * give the parent first chance to set the cursor */
1022  {
1023  PWND parent = Wnd->spwndParent;//IntGetParent( Wnd );
1024  if (parent != UserGetDesktopWindow() &&
1026  return TRUE;
1027  }
1028  }
1029  return DefWndHandleSetCursor(Wnd, wParam, lParam);
1030  }
1031 
1032  case WM_MOUSEACTIVATE:
1033  if (Wnd->style & WS_CHILD)
1034  {
1035  LONG Ret;
1036  HWND hwndParent;
1037  PWND pwndParent = IntGetParent(Wnd);
1038  hwndParent = pwndParent ? UserHMGetHandle(pwndParent) : NULL;
1040  if (Ret) return (Ret);
1041  }
1043 
1044  case WM_ACTIVATE:
1045  /* The default action in Windows is to set the keyboard focus to
1046  * the window, if it's being activated and not minimized */
1047  if (LOWORD(wParam) != WA_INACTIVE &&
1048  !(Wnd->style & WS_MINIMIZE))
1049  {
1050  //ERR("WM_ACTIVATE %p\n",hWnd);
1051  co_UserSetFocus(Wnd);
1052  }
1053  break;
1054 
1055  case WM_MOUSEWHEEL:
1056  if (Wnd->style & WS_CHILD)
1057  {
1058  HWND hwndParent;
1059  PWND pwndParent = IntGetParent(Wnd);
1060  hwndParent = pwndParent ? UserHMGetHandle(pwndParent) : NULL;
1062  }
1063  break;
1064 
1065  case WM_ERASEBKGND:
1066  case WM_ICONERASEBKGND:
1067  {
1068  RECT Rect;
1069  HBRUSH hBrush = Wnd->pcls->hbrBackground;
1070  if (!hBrush) return 0;
1071  if (hBrush <= (HBRUSH)COLOR_MENUBAR)
1072  {
1073  hBrush = IntGetSysColorBrush(HandleToUlong(hBrush));
1074  }
1075  if (Wnd->pcls->style & CS_PARENTDC)
1076  {
1077  /* can't use GetClipBox with a parent DC or we fill the whole parent */
1078  IntGetClientRect(Wnd, &Rect);
1079  GreDPtoLP((HDC)wParam, (LPPOINT)&Rect, 2);
1080  }
1081  else
1082  {
1083  GdiGetClipBox((HDC)wParam, &Rect);
1084  }
1085  FillRect((HDC)wParam, &Rect, hBrush);
1086  return (1);
1087  }
1088 
1089  case WM_GETHOTKEY:
1090  //ERR("WM_GETHOTKEY\n");
1091  return DefWndGetHotKey(Wnd);
1092  case WM_SETHOTKEY:
1093  //ERR("WM_SETHOTKEY\n");
1094  return DefWndSetHotKey(Wnd, wParam);
1095 
1096  case WM_NCHITTEST:
1097  {
1098  POINT Point;
1101  return GetNCHitEx(Wnd, Point);
1102  }
1103 
1104  case WM_PRINT:
1105  {
1106  DefWndPrint(Wnd, (HDC)wParam, lParam);
1107  return (0);
1108  }
1109 
1110  case WM_SYSCOLORCHANGE:
1111  {
1112  /* force to redraw non-client area */
1113  UserPaintCaption(Wnd, DC_NC);
1114  /* Use InvalidateRect to redraw client area, enable
1115  * erase to redraw all subcontrols otherwise send the
1116  * WM_SYSCOLORCHANGE to child windows/controls is required
1117  */
1119  return (0);
1120  }
1121 
1122  case WM_PAINTICON:
1123  case WM_PAINT:
1124  {
1125  PAINTSTRUCT Ps;
1126  HDC hDC;
1127 
1128  /* If already in Paint and Client area is not empty just return. */
1129  if (Wnd->state2 & WNDS2_STARTPAINT && !RECTL_bIsEmptyRect(&Wnd->rcClient))
1130  {
1131  ERR("In Paint and Client area is not empty!\n");
1132  return 0;
1133  }
1134 
1135  hDC = IntBeginPaint(Wnd, &Ps);
1136  if (hDC)
1137  {
1138  if (((Wnd->style & WS_MINIMIZE) != 0) && (Wnd->pcls->spicn))
1139  {
1140  RECT ClientRect;
1141  INT x, y;
1142 
1143  ERR("Doing Paint and Client area is empty!\n");
1144  IntGetClientRect(Wnd, &ClientRect);
1145  x = (ClientRect.right - ClientRect.left - UserGetSystemMetrics(SM_CXICON)) / 2;
1146  y = (ClientRect.bottom - ClientRect.top - UserGetSystemMetrics(SM_CYICON)) / 2;
1148  UserDrawIconEx(hDC, x, y, Wnd->pcls->spicn, 0, 0, 0, 0, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE);
1150  }
1151 
1152  IntEndPaint(Wnd, &Ps);
1153  }
1154  return (0);
1155  }
1156 
1157  case WM_SYNCPAINT:
1158  {
1159  HRGN hRgn;
1160  Wnd->state &= ~WNDS_SYNCPAINTPENDING;
1161  TRACE("WM_SYNCPAINT\n");
1162  hRgn = NtGdiCreateRectRgn(0, 0, 0, 0);
1163  if (hRgn)
1164  {
1165  if (co_UserGetUpdateRgn(Wnd, hRgn, FALSE) != NULLREGION)
1166  {
1167  PREGION pRgn = REGION_LockRgn(hRgn);
1168  if (pRgn) REGION_UnlockRgn(pRgn);
1169  if (!wParam)
1171  co_UserRedrawWindow(Wnd, NULL, pRgn, wParam);
1172  }
1174  }
1175  return 0;
1176  }
1177 
1178  case WM_SETREDRAW:
1179  if (wParam)
1180  {
1181  if (!(Wnd->style & WS_VISIBLE))
1182  {
1183  IntSetStyle( Wnd, WS_VISIBLE, 0 );
1184  Wnd->state |= WNDS_SENDNCPAINT;
1185  }
1186  }
1187  else
1188  {
1189  if (Wnd->style & WS_VISIBLE)
1190  {
1192  IntSetStyle( Wnd, 0, WS_VISIBLE );
1193  }
1194  }
1195  return 0;
1196 
1197  case WM_WINDOWPOSCHANGING:
1198  {
1200  }
1201 
1202  case WM_WINDOWPOSCHANGED:
1203  {
1205  }
1206 
1207  case WM_NCCALCSIZE:
1208  {
1209  return NC_HandleNCCalcSize( Wnd, wParam, (RECTL *)lParam, FALSE );
1210  }
1211 
1212  case WM_NCACTIVATE:
1213  {
1214  return NC_HandleNCActivate( Wnd, wParam, lParam );
1215  }
1216 
1217  //
1218  // NC Paint mode.
1219  //
1220  case WM_NCPAINT:
1221  {
1223  Wnd->state |= WNDS_FORCEMENUDRAW;
1224  NC_DoNCPaint(Wnd, hDC, -1);
1225  Wnd->state &= ~WNDS_FORCEMENUDRAW;
1226  UserReleaseDC(Wnd, hDC, FALSE);
1227  return 0;
1228  }
1229  //
1230  // Draw Caption mode.
1231  //
1232  // wParam are DC_* flags.
1233  //
1234  case WM_NCUAHDRAWCAPTION:
1235  {
1237  TRACE("WM_NCUAHDRAWCAPTION: wParam DC_ flags %08x\n",wParam);
1238  UserDrawCaptionBar(Wnd, hDC, wParam | DC_FRAME); // Include DC_FRAME to comp for drawing glitch.
1239  UserReleaseDC(Wnd, hDC, FALSE);
1240  return 0;
1241  }
1242  //
1243  // Draw Frame mode.
1244  //
1245  // wParam is HDC, lParam are DC_ACTIVE and or DC_REDRAWHUNGWND.
1246  //
1247  case WM_NCUAHDRAWFRAME:
1248  {
1249  TRACE("WM_NCUAHDRAWFRAME: wParam hDC %p lParam DC_ flags %08x\n",wParam,lParam);
1251  return 0;
1252  }
1253 
1254  /* ReactOS only. */
1255  case WM_CBT:
1256  {
1257  switch (wParam)
1258  {
1259  case HCBT_MOVESIZE:
1260  {
1261  RECTL rt;
1262 
1263  if (lParam)
1264  {
1265  _SEH2_TRY
1266  {
1268  sizeof(RECT),
1269  1);
1270 
1271  RtlCopyMemory(&rt,
1272  (PVOID)lParam,
1273  sizeof(RECT));
1274  }
1276  {
1277  lResult = 1;
1278  }
1279  _SEH2_END;
1280  }
1281  if (!lResult)
1282  lResult = co_HOOK_CallHooks(WH_CBT, HCBT_MOVESIZE, (WPARAM)Wnd->head.h, lParam ? (LPARAM)&rt : 0);
1283  }
1284  break;
1285  }
1286  break;
1287  }
1288  break;
1289  }
1290  return lResult;
1291 }
1292 
1293 /* EOF */
BYTE gafAsyncKeyState[256 *2/8]
Definition: keyboard.c:13
#define WM_NCLBUTTONDOWN
Definition: winuser.h:1674
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#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:101
PUSER_MESSAGE_QUEUE gpqForeground
Definition: focus.c:12
#define WM_GETTEXTLENGTH
Definition: winuser.h:1601
#define GA_ROOT
Definition: winuser.h:2764
BOOL FASTCALL IntFlashWindowEx(PWND pWnd, PFLASHWINFO pfwi)
Definition: painting.c:1292
#define HTTOP
Definition: winuser.h:2465
__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:2462
#define HCBT_SYSCOMMAND
Definition: winuser.h:63
const uint16_t * PCWSTR
Definition: typedefs.h:57
#define WM_PAINTICON
Definition: winuser.h:1623
BOOL FASTCALL UserPostMessage(HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam)
Definition: message.c:1346
#define WM_SYSCOLORCHANGE
Definition: winuser.h:1608
void FASTCALL MENU_InitSysMenuPopup(PMENU menu, DWORD style, DWORD clsStyle, LONG HitTest)
Definition: menu.c:1362
#define max(a, b)
Definition: svc.c:63
#define COLOR_3DHILIGHT
Definition: winuser.h:927
DWORD ExStyle
Definition: ntuser.h:668
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:2456
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:1155
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:2571
struct _DESKTOP * rpdesk
Definition: ntuser.h:189
#define SC_RESTORE
Definition: winuser.h:2573
#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:1758
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:2482
#define TRUE
Definition: types.h:120
#define WM_CTLCOLORDLG
Definition: winuser.h:1752
#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:2262
uint16_t * PWSTR
Definition: typedefs.h:56
#define WM_CLIENTSHUTDOWN
Definition: undocuser.h:35
#define WM_MOUSEWHEEL
Definition: treelist.c:96
#define WM_NCCALCSIZE
Definition: winuser.h:1667
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define WM_CTLCOLORSTATIC
Definition: winuser.h:1754
#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:112
#define MAKELPARAM(l, h)
Definition: winuser.h:3983
DWORD_PTR dwContextId
Definition: winuser.h:3291
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
Definition: thread.c:805
#define SIZE_RESTORED
Definition: winuser.h:2480
BOOLEAN FASTCALL co_WinPosSetWindowPos(PWND Window, HWND WndInsertAfter, INT x, INT y, INT cx, INT cy, UINT flags)
Definition: winpos.c:1720
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToMultiByteSize(PULONG MbSize, PCWCH UnicodeString, ULONG UnicodeSize)
#define HandleToUlong(h)
Definition: basetsd.h:79
HANDLE hItemHandle
Definition: winuser.h:3290
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:307
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:2476
#define VK_LEFT
Definition: winuser.h:2199
#define WM_SHOWWINDOW
Definition: winuser.h:1610
BOOL FASTCALL IntShowOwnedPopups(PWND OwnerWnd, BOOL fShow)
Definition: window.c:4389
#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:2576
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:4558
#define HTBOTTOMLEFT
Definition: winuser.h:2469
#define SC_MOUSEMENU
Definition: winuser.h:2570
BOOL FASTCALL UserDereferenceObject(PVOID Object)
Definition: object.c:610
struct _CURICON_OBJECT * spcur
Definition: ntuser.h:554
#define WM_NCHITTEST
Definition: winuser.h:1668
struct @1610 Msg[]
UINT_PTR WPARAM
Definition: windef.h:207
#define VK_LWIN
Definition: winuser.h:2210
#define VK_TAB
Definition: winuser.h:2174
#define VK_DOWN
Definition: winuser.h:2202
#define HTRIGHT
Definition: winuser.h:2464
#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:728
RECT rcClient
Definition: ntuser.h:681
#define VK_MENU
Definition: winuser.h:2179
#define RDW_FRAME
Definition: winuser.h:1198
LONG left
Definition: windef.h:306
VOID FASTCALL IntGetClientRect(PWND WindowObject, RECTL *Rect)
Definition: winpos.c:91
UINT uFlags
Definition: api.c:59
HWND FASTCALL IntGetCaptureWindow(VOID)
Definition: focus.c:32
#define WNDS2_STARTPAINT
Definition: ntuser.h:611
BOOL NTAPI UserOpenClipboard(HWND hWnd)
Definition: clipboard.c:485
#define VK_ESCAPE
Definition: winuser.h:2189
#define WS_CLIPCHILDREN
Definition: pedump.c:619
#define SW_RESTORE
Definition: winuser.h:773
LONG right
Definition: windef.h:308
#define WM_CTLCOLORLISTBOX
Definition: winuser.h:1750
PREGION FASTCALL REGION_LockRgn(_In_ HRGN hrgn)
Definition: region.c:2377
#define FASTCALL
Definition: nt_native.h:50
#define WS_EX_TOOLWINDOW
Definition: winuser.h:404
#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:58
#define VK_RETURN
Definition: winuser.h:2176
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:2104
#define WM_PRINTCLIENT
Definition: richedit.h:70
#define HTTOPLEFT
Definition: winuser.h:2466
#define DCX_WINDOW
Definition: winuser.h:2095
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:4226
#define DC_ICON
Definition: winuser.h:429
#define ICON_SMALL
Definition: tnclass.cpp:48
#define VK_F10
Definition: winuser.h:2239
HDC hdc2
Definition: SelectObject.c:10
#define WM_NCPAINT
Definition: winuser.h:1669
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
Definition: typeof.h:94
#define TPM_RIGHTBUTTON
Definition: winuser.h:2355
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
#define COLOR_3DFACE
Definition: winuser.h:919
#define WM_CTLCOLORBTN
Definition: winuser.h:1751
#define HTSYSMENU
Definition: winuser.h:2452
UINT style
Definition: ntuser.h:548
#define VK_UP
Definition: winuser.h:2200
PWND FASTCALL co_IntFindChildWindowToOwner(PWND Root, PWND Owner)
Definition: defwnd.c:215
#define DC_NC
Definition: winuser.h:440
#define FALSE
Definition: types.h:117
DWORD dwSRVIFlags
Definition: ntuser.h:1004
#define WM_NCACTIVATE
Definition: winuser.h:1670
BOOL NTAPI UserCloseClipboard(VOID)
Definition: clipboard.c:542
#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:2579
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:111
#define WM_CTLCOLORSCROLLBAR
Definition: winuser.h:1753
#define WM_SYSCHAR
Definition: winuser.h:1703
#define SM_CXICON
Definition: winuser.h:962
#define VK_F4
Definition: winuser.h:2233
#define CHILDID_SELF
Definition: winable.h:14
#define SC_MAXIMIZE
Definition: winuser.h:2563
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:1042
#define VK_SHIFT
Definition: winuser.h:2177
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:249
#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:1697
#define WM_CTLCOLORMSGBOX
Definition: winuser.h:1748
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:3292
Definition: region.h:7
#define WM_MOUSEACTIVATE
Definition: winuser.h:1619
Definition: sacdrv.h:287
#define HTERROR
Definition: winuser.h:2447
#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:1761
int iContextType
Definition: winuser.h:3288
#define DC_ACTIVE
Definition: winuser.h:427
void MENU_EndMenu(PWND pwnd)
Definition: menu.c:2662
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:1864
BOOLEAN FASTCALL co_WinPosShowWindow(PWND Wnd, INT Cmd)
Definition: winpos.c:2472
HWND hwndSAS
Definition: winsta.c:24
#define UserHMGetHandle(obj)
Definition: ntuser.h:208
#define KF_REPEAT
Definition: winuser.h:2425
#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:2467
const DWORD Style
Definition: appswitch.c:71
r parent
Definition: btrfs.c:2944
struct _WND::@4238 InternalPos
HBRUSH hbrBackground
Definition: ntuser.h:555
#define PRF_ERASEBKGND
Definition: winuser.h:2501
PMENU FASTCALL IntGetSystemMenu(PWND Window, BOOL bRevert)
Definition: menu.c:5380
__kernel_entry W32KAPI BOOL APIENTRY NtGdiUnrealizeObject(_In_ HANDLE h)
__wchar_t WCHAR
Definition: xmlstorage.h:180
PWND MENU_IsMenuActive(VOID)
Definition: menu.c:2650
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define WM_SIZE
Definition: winuser.h:1593
#define PRF_NONCLIENT
Definition: winuser.h:2499
#define SWP_NOACTIVATE
Definition: winuser.h:1227
DWORD COLORREF
Definition: windef.h:300
#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:42
#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:1071
#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:6
#define WM_KEYUP
Definition: winuser.h:1698
#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:2468
unsigned long DWORD
Definition: ntddk_ex.h:95
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:2481
#define PRF_CHECKVISIBLE
Definition: winuser.h:2498
#define WM_RBUTTONUP
Definition: winuser.h:1762
#define SW_MINIMIZE
Definition: winuser.h:770
#define WM_PRINT
Definition: winuser.h:1862
GLbitfield flags
Definition: glext.h:7161
#define SC_PREVWINDOW
Definition: winuser.h:2566
#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:1103
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:1248
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:1446
HDC hdc
Definition: main.c:9
#define VK_LMENU
Definition: winuser.h:2261
#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:1760
#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:3287
#define WM_LOGONNOTIFY
Definition: undocuser.h:37
#define MA_NOACTIVATE
Definition: winuser.h:2478
#define HTBOTTOMRIGHT
Definition: winuser.h:2470
#define VK_RWIN
Definition: winuser.h:2211
#define WM_USER
Definition: winuser.h:1877
__kernel_entry W32KAPI HDC APIENTRY NtGdiCreateCompatibleDC(_In_opt_ HDC hdc)
PWND FASTCALL UserGetAncestor(PWND Wnd, UINT Type)
Definition: window.c:3079
#define VK_RIGHT
Definition: winuser.h:2201
#define SC_MINIMIZE
Definition: winuser.h:2561
BOOL NTAPI UserEmptyClipboard(VOID)
Definition: clipboard.c:677
#define SWP_NOSIZE
Definition: winuser.h:1230
#define ERR(fmt,...)
Definition: debug.h:110
#define HTCAPTION
Definition: winuser.h:2451
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:1610
static HDC hDC
Definition: 3dtext.c:33
VOID UserDrawCaptionBar(PWND pWnd, HDC hDC, INT Flags)
Definition: nonclient.c:900
_SEH2_END
Definition: create.c:4400
INT FASTCALL DefWndSetHotKey(PWND pWnd, WPARAM wParam)
Definition: hotkey.c:340
VOID MENU_TrackKbdMenuBar(PWND pwnd, UINT wParam, WCHAR wChar)
Definition: menu.c:4497
#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:1702
LRESULT FASTCALL DefWndSetIcon(PWND pWnd, WPARAM wParam, LPARAM lParam)
Definition: defwnd.c:434
#define WM_CTLCOLOREDIT
Definition: winuser.h:1749
FORCEINLINE BOOL IntEqualRect(RECTL *lprc1, RECTL *lprc2)
Definition: winpos.h:48
#define SC_SIZE
Definition: winuser.h:2559
#define WM_MBUTTONDOWN
Definition: winuser.h:1764
PWND FASTCALL IntGetParent(PWND Wnd)
Definition: window.c:185
DWORD state
Definition: ntuser.h:665
int iCtrlId
Definition: winuser.h:3289
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:2503
LRESULT NC_HandleNCRButtonDown(PWND pwnd, WPARAM wParam, LPARAM lParam)
Definition: nonclient.c:1668
#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:1556
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:2194
BOOL empty
Definition: button.c:170
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:2424
#define WM_DEVICECHANGE
Definition: winuser.h:1793
#define GET_Y_LPARAM(lp)
Definition: windowsx.h:275
#define HTVSCROLL
Definition: winuser.h:2457
#define WM_WINDOWPOSCHANGED
Definition: winuser.h:1644
INT FASTCALL IntMenuItemFromPoint(PWND pWnd, HMENU hMenu, POINT ptScreen)
Definition: menu.c:1518
VOID FASTCALL REGION_UnlockRgn(_In_ PREGION prgn)
Definition: region.c:2392
#define SC_MOVE
Definition: winuser.h:2560
#define RDW_ERASENOW
Definition: winuser.h:1205
#define SC_CLOSE
Definition: winuser.h:2567
#define WM_NCUAHDRAWFRAME
Definition: undocuser.h:46
#define HCBT_MOVESIZE
Definition: winuser.h:55
#define WM_SYSKEYDOWN
Definition: winuser.h:1701
#define TPM_LEFTBUTTON
Definition: winuser.h:2354
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:247
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:309
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:728
#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:4467
#define WNDS_FORCEMENUDRAW
Definition: ntuser.h:588
static HBITMAP hbitmap
#define WA_INACTIVE
Definition: winuser.h:2597
BOOL FASTCALL UserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
Definition: sysparams.c:2078
static HBITMAP
Definition: button.c:44
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define SC_NEXTWINDOW
Definition: winuser.h:2565
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:1519
#define LN_MESSAGE_BEEP
Definition: undocuser.h:118
#define HTCLIENT
Definition: winuser.h:2450
#define PRF_CLIENT
Definition: winuser.h:2500
WCHAR * LPWSTR
Definition: xmlstorage.h:184
DWORD FASTCALL GetNCHitEx(PWND pWnd, POINT pt)
Definition: nonclient.c:1927
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:1382
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
Arabic default style
Definition: afstyles.h:93
#define PRF_CHILDREN
Definition: winuser.h:2502
#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:1723
#define QF_FMENUSTATUSBREAK
Definition: msgqueue.h:96
LPARAM lParam
Definition: combotst.c:139
#define VK_SNAPSHOT
Definition: winuser.h:2206
#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:1020
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
Definition: error.c:27
#define CS_PARENTDC
Definition: winuser.h:651
#define WM_KEYF1
Definition: msg.c:47
#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
const DWORD ExStyle
Definition: appswitch.c:72
#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
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