case SC_MOUSEMENU:
case SC_KEYMENU:
case SC_SCREENSAVE:
+ case SC_MINIMIZE:
+ case SC_MAXIMIZE:
+ case SC_RESTORE:
+ case SC_CLOSE:
+ case SC_HOTKEY:
NtUserMessageCall( hWnd, WM_SYSCOMMAND, wParam, lParam, (ULONG_PTR)&lResult, FNID_DEFWINDOWPROC, FALSE);
return 0;
switch (wParam & 0xfff0)
{
- case SC_MINIMIZE:
- if (hWnd == GetActiveWindow())
- ShowOwnedPopups(hWnd,FALSE);
- ShowWindow( hWnd, SW_MINIMIZE );
- break;
-
- case SC_MAXIMIZE:
- if (IsIconic(hWnd) && hWnd == GetActiveWindow())
- ShowOwnedPopups(hWnd,TRUE);
- ShowWindow( hWnd, SW_MAXIMIZE );
- break;
-
- case SC_RESTORE:
- if (IsIconic(hWnd) && hWnd == GetActiveWindow())
- ShowOwnedPopups(hWnd,TRUE);
- ShowWindow( hWnd, SW_RESTORE );
- break;
-
- case SC_CLOSE:
- return SendMessageW(hWnd, WM_CLOSE, 0, 0);
-
case SC_VSCROLL:
case SC_HSCROLL:
{
DoAppSwitch( wParam, lParam);
break;
- case SC_HOTKEY:
- {
- HWND hwnd, hWndLastActive;
- PWND pWnd;
-
- hwnd = (HWND)lParam;
- pWnd = ValidateHwnd(hwnd);
- if (pWnd)
- {
- hWndLastActive = GetLastActivePopup(hwnd);
- if (hWndLastActive)
- {
- hwnd = hWndLastActive;
- pWnd = ValidateHwnd(hwnd);
- }
- SetForegroundWindow(hwnd);
- if (pWnd->style & WS_MINIMIZE)
- {
- PostMessage(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0);
- }
- }
- }
- break;
-
default:
FIXME("Unimplemented DefWndHandleSysCommand wParam 0x%x\n",wParam);
break;
return TRUE;
}
-/* WARNING: Redundant with /ntuser/defwnd.c!UserPaintCaption !! */
+/* WARNING: Redundant with /ntuser/defwnd.c!UserPaintCaption !!
+ Use TWOPARAM_ROUTINE_REDRAWTITLE/REDRAWFRAME or HWNDLOCK_ROUTINE_REDRAWFRAMEANDHOOK .
+ */
static void
UserPaintCaption(PWND pwnd, INT Flags)
{
ERR("WM_NCRBUTTONUP\n");
break;
+ case WM_XBUTTONUP:
+ case WM_NCXBUTTONUP:
+ if (HIWORD(wParam) == XBUTTON1 || HIWORD(wParam) == XBUTTON2)
+ {
+ SendMessageW(hWnd, WM_APPCOMMAND, (WPARAM)hWnd,
+ MAKELPARAM(LOWORD(wParam), FAPPCOMMAND_MOUSE | HIWORD(wParam)));
+ }
+ break;
+
case WM_CONTEXTMENU:
{
if (GetWindowLongPtrW(hWnd, GWL_STYLE) & WS_CHILD)