mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 11:51:58 +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
2 changed files with 35 additions and 17 deletions
|
@ -169,20 +169,20 @@ DefWndHandleWindowPosChanged(PWND pWnd, WINDOWPOS* Pos)
|
||||||
IntGetClientRect(pWnd, &Rect);
|
IntGetClientRect(pWnd, &Rect);
|
||||||
IntMapWindowPoints(pWnd, (style & WS_CHILD ? IntGetParent(pWnd) : NULL), (LPPOINT) &Rect, 2);
|
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));
|
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_MINIMIZE) co_IntSendMessage(UserHMGetHandle(pWnd), WM_SIZE, SIZE_MINIMIZED, 0 );
|
||||||
|
else
|
||||||
if (style & WS_MAXIMIZE) wp = SIZE_MAXIMIZED;
|
{
|
||||||
else if (style & WS_MINIMIZE) wp = SIZE_MINIMIZED;
|
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));
|
co_IntSendMessage(UserHMGetHandle(pWnd), WM_SIZE, wp, MAKELONG(Rect.right - Rect.left, Rect.bottom - Rect.top));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,6 +200,15 @@ UserDrawWindowFrame(HDC hdc,
|
||||||
NtGdiSelectBrush( hdc, hbrush );
|
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
|
LRESULT FASTCALL
|
||||||
DefWndHandleSysCommand(PWND pWnd, WPARAM wParam, LPARAM lParam)
|
DefWndHandleSysCommand(PWND pWnd, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
|
@ -216,6 +225,12 @@ DefWndHandleSysCommand(PWND pWnd, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
switch (wParam & 0xfff0)
|
switch (wParam & 0xfff0)
|
||||||
{
|
{
|
||||||
|
case SC_MOVE:
|
||||||
|
case SC_SIZE:
|
||||||
|
//DefWndDoSizeMove(pWnd, wParam);
|
||||||
|
ERR("SC_MOVESIZE\n");
|
||||||
|
break;
|
||||||
|
|
||||||
case SC_SCREENSAVE:
|
case SC_SCREENSAVE:
|
||||||
ERR("Screensaver Called!\n");
|
ERR("Screensaver Called!\n");
|
||||||
UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_START_SCREENSAVE, 0); // always lParam 0 == not Secure
|
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));
|
return (LRESULT) DefWndControlColor((HDC)wParam, HIWORD(lParam));
|
||||||
|
|
||||||
case WM_GETHOTKEY:
|
case WM_GETHOTKEY:
|
||||||
|
//ERR("WM_GETHOTKEY\n");
|
||||||
return DefWndGetHotKey(Wnd);
|
return DefWndGetHotKey(Wnd);
|
||||||
case WM_SETHOTKEY:
|
case WM_SETHOTKEY:
|
||||||
|
//ERR("WM_SETHOTKEY\n");
|
||||||
return DefWndSetHotKey(Wnd, wParam);
|
return DefWndSetHotKey(Wnd, wParam);
|
||||||
|
|
||||||
case WM_NCHITTEST:
|
case WM_NCHITTEST:
|
||||||
|
|
|
@ -153,7 +153,7 @@ UserGetInsideRectNC(PWND Wnd, RECT *rect)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0 // Moved to Win32k
|
#if 0
|
||||||
VOID
|
VOID
|
||||||
DefWndSetRedraw(HWND hWnd, WPARAM wParam)
|
DefWndSetRedraw(HWND hWnd, WPARAM wParam)
|
||||||
{
|
{
|
||||||
|
@ -344,6 +344,7 @@ DefWndStartSizeMove(HWND hWnd, PWND Wnd, WPARAM wParam, POINT *capturePoint)
|
||||||
}
|
}
|
||||||
SetCursorPos( pt.x, pt.y );
|
SetCursorPos( pt.x, pt.y );
|
||||||
DefWndHandleSetCursor(hWnd, (WPARAM)hWnd, MAKELONG(hittest, WM_MOUSEMOVE), Style);
|
DefWndHandleSetCursor(hWnd, (WPARAM)hWnd, MAKELONG(hittest, WM_MOUSEMOVE), Style);
|
||||||
|
//SendMessageW(hWnd, WM_SETCURSOR, (WPARAM)hWnd, MAKELONG(hittest, WM_MOUSEMOVE));
|
||||||
return hittest;
|
return hittest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -419,7 +420,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
||||||
//
|
//
|
||||||
// Show window contents while dragging the window, get flag from registry data.
|
// 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.x = GET_X_LPARAM(dwPoint);
|
||||||
pt.y = GET_Y_LPARAM(dwPoint);
|
pt.y = GET_Y_LPARAM(dwPoint);
|
||||||
|
@ -515,7 +516,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
||||||
}
|
}
|
||||||
|
|
||||||
IntNotifyWinEvent( EVENT_SYSTEM_MOVESIZESTART, hwnd, OBJID_WINDOW, CHILDID_SELF, 0);
|
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);
|
NtUserxSetGUIThreadHandle(MSQ_STATE_MOVESIZE, hwnd);
|
||||||
if (GetCapture() != hwnd) SetCapture( hwnd );
|
if (GetCapture() != hwnd) SetCapture( hwnd );
|
||||||
|
|
||||||
|
@ -703,8 +704,8 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
||||||
}
|
}
|
||||||
|
|
||||||
NtUserxSetGUIThreadHandle(MSQ_STATE_MOVESIZE, NULL);
|
NtUserxSetGUIThreadHandle(MSQ_STATE_MOVESIZE, NULL);
|
||||||
SendMessageA( hwnd, WM_EXITSIZEMOVE, 0, 0 );
|
SendMessageW( hwnd, WM_EXITSIZEMOVE, 0, 0 );
|
||||||
SendMessageA( hwnd, WM_SETVISIBLE, !IsIconic(hwnd), 0L);
|
SendMessageW( hwnd, WM_SETVISIBLE, !IsIconic(hwnd), 0L);
|
||||||
|
|
||||||
/* window moved or resized */
|
/* window moved or resized */
|
||||||
if (moved)
|
if (moved)
|
||||||
|
@ -744,7 +745,7 @@ DefWndDoSizeMove(HWND hwnd, WORD wParam)
|
||||||
if( !moved )
|
if( !moved )
|
||||||
{
|
{
|
||||||
if( Style & WS_SYSMENU )
|
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…
Add table
Add a link
Reference in a new issue