mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 21:44:31 +00:00
[NtUser|User32]
- Sync port (more) from wine to update code before move and test. See CORE-7447. svn path=/trunk/; revision=62696
This commit is contained in:
parent
08df30bc8b
commit
b3d69a19ac
|
@ -169,19 +169,19 @@ DefWndHandleWindowPosChanged(PWND pWnd, WINDOWPOS* Pos)
|
|||
IntGetClientRect(pWnd, &Rect);
|
||||
IntMapWindowPoints(pWnd, (style & WS_CHILD ? IntGetParent(pWnd) : NULL), (LPPOINT) &Rect, 2);
|
||||
|
||||
if (! (Pos->flags & SWP_NOCLIENTMOVE))
|
||||
if (!(Pos->flags & SWP_NOCLIENTMOVE))
|
||||
{
|
||||
co_IntSendMessage(UserHMGetHandle(pWnd), WM_MOVE, 0, MAKELONG(Rect.left, Rect.top));
|
||||
}
|
||||
|
||||
if (! (Pos->flags & SWP_NOCLIENTSIZE))
|
||||
if (!(Pos->flags & SWP_NOCLIENTSIZE) || (Pos->flags & SWP_STATECHANGED))
|
||||
{
|
||||
WPARAM wp = SIZE_RESTORED;
|
||||
|
||||
if (style & WS_MAXIMIZE) wp = SIZE_MAXIMIZED;
|
||||
else if (style & WS_MINIMIZE) wp = SIZE_MINIMIZED;
|
||||
|
||||
co_IntSendMessage(UserHMGetHandle(pWnd), WM_SIZE, wp, MAKELONG(Rect.right - Rect.left, Rect.bottom - Rect.top));
|
||||
if (style & WS_MINIMIZE) co_IntSendMessage(UserHMGetHandle(pWnd), WM_SIZE, SIZE_MINIMIZED, 0 );
|
||||
else
|
||||
{
|
||||
WPARAM wp = (style & WS_MAXIMIZE) ? SIZE_MAXIMIZED : SIZE_RESTORED;
|
||||
co_IntSendMessage(UserHMGetHandle(pWnd), WM_SIZE, wp, MAKELONG(Rect.right - Rect.left, Rect.bottom - Rect.top));
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -200,6 +200,15 @@ UserDrawWindowFrame(HDC hdc,
|
|||
NtGdiSelectBrush( hdc, hbrush );
|
||||
}
|
||||
|
||||
VOID FASTCALL
|
||||
UserDrawMovingFrame(HDC hdc,
|
||||
RECTL *rect,
|
||||
BOOL thickframe)
|
||||
{
|
||||
if (thickframe) UserDrawWindowFrame(hdc, rect, UserGetSystemMetrics(SM_CXFRAME), UserGetSystemMetrics(SM_CYFRAME));
|
||||
else UserDrawWindowFrame(hdc, rect, 1, 1);
|
||||
}
|
||||
|
||||
LRESULT FASTCALL
|
||||
DefWndHandleSysCommand(PWND pWnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
|
@ -216,6 +225,12 @@ DefWndHandleSysCommand(PWND pWnd, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
switch (wParam & 0xfff0)
|
||||
{
|
||||
case SC_MOVE:
|
||||
case SC_SIZE:
|
||||
//DefWndDoSizeMove(pWnd, wParam);
|
||||
ERR("SC_MOVESIZE\n");
|
||||
break;
|
||||
|
||||
case SC_SCREENSAVE:
|
||||
ERR("Screensaver Called!\n");
|
||||
UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_START_SCREENSAVE, 0); // always lParam 0 == not Secure
|
||||
|
@ -302,8 +317,10 @@ IntDefWindowProc(
|
|||
return (LRESULT) DefWndControlColor((HDC)wParam, HIWORD(lParam));
|
||||
|
||||
case WM_GETHOTKEY:
|
||||
//ERR("WM_GETHOTKEY\n");
|
||||
return DefWndGetHotKey(Wnd);
|
||||
case WM_SETHOTKEY:
|
||||
//ERR("WM_SETHOTKEY\n");
|
||||
return DefWndSetHotKey(Wnd, wParam);
|
||||
|
||||
case WM_NCHITTEST:
|
||||
|
|
|
@ -153,7 +153,7 @@ UserGetInsideRectNC(PWND Wnd, RECT *rect)
|
|||
}
|
||||
}
|
||||
|
||||
#if 0 // Moved to Win32k
|
||||
#if 0
|
||||
VOID
|
||||
DefWndSetRedraw(HWND hWnd, WPARAM wParam)
|
||||
{
|
||||
|
@ -344,6 +344,7 @@ DefWndStartSizeMove(HWND hWnd, PWND Wnd, WPARAM wParam, POINT *capturePoint)
|
|||
}
|
||||
SetCursorPos( pt.x, pt.y );
|
||||
DefWndHandleSetCursor(hWnd, (WPARAM)hWnd, MAKELONG(hittest, WM_MOUSEMOVE), Style);
|
||||
//SendMessageW(hWnd, WM_SETCURSOR, (WPARAM)hWnd, MAKELONG(hittest, WM_MOUSEMOVE));
|
||||
return hittest;
|
||||
}
|
||||
|
||||
|
@ -419,7 +420,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
|||
//
|
||||
// Show window contents while dragging the window, get flag from registry data.
|
||||
//
|
||||
SystemParametersInfoA(SPI_GETDRAGFULLWINDOWS, 0, &DragFullWindows, 0);
|
||||
SystemParametersInfoW(SPI_GETDRAGFULLWINDOWS, 0, &DragFullWindows, 0);
|
||||
|
||||
pt.x = GET_X_LPARAM(dwPoint);
|
||||
pt.y = GET_Y_LPARAM(dwPoint);
|
||||
|
@ -450,11 +451,11 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
|||
SetCapture(hwnd);
|
||||
hittest = DefWndStartSizeMove(hwnd, Wnd, wParam, &capturePoint);
|
||||
if (!hittest)
|
||||
{
|
||||
{
|
||||
ReleaseCapture();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Get min/max info */
|
||||
|
@ -515,7 +516,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
|||
}
|
||||
|
||||
IntNotifyWinEvent( EVENT_SYSTEM_MOVESIZESTART, hwnd, OBJID_WINDOW, CHILDID_SELF, 0);
|
||||
SendMessageA( hwnd, WM_ENTERSIZEMOVE, 0, 0 );
|
||||
SendMessageW( hwnd, WM_ENTERSIZEMOVE, 0, 0 );
|
||||
NtUserxSetGUIThreadHandle(MSQ_STATE_MOVESIZE, hwnd);
|
||||
if (GetCapture() != hwnd) SetCapture( hwnd );
|
||||
|
||||
|
@ -703,8 +704,8 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
|||
}
|
||||
|
||||
NtUserxSetGUIThreadHandle(MSQ_STATE_MOVESIZE, NULL);
|
||||
SendMessageA( hwnd, WM_EXITSIZEMOVE, 0, 0 );
|
||||
SendMessageA( hwnd, WM_SETVISIBLE, !IsIconic(hwnd), 0L);
|
||||
SendMessageW( hwnd, WM_EXITSIZEMOVE, 0, 0 );
|
||||
SendMessageW( hwnd, WM_SETVISIBLE, !IsIconic(hwnd), 0L);
|
||||
|
||||
/* window moved or resized */
|
||||
if (moved)
|
||||
|
@ -744,7 +745,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
|||
if( !moved )
|
||||
{
|
||||
if( Style & WS_SYSMENU )
|
||||
SendMessageA( hwnd, WM_SYSCOMMAND, SC_MOUSEMENU + HTSYSMENU, MAKELONG(pt.x,pt.y));
|
||||
SendMessageW( hwnd, WM_SYSCOMMAND, SC_MOUSEMENU + HTSYSMENU, MAKELONG(pt.x,pt.y));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue