mirror of
https://github.com/reactos/wine.git
synced 2025-02-20 12:50:53 +00:00
user32: Send 0 as LPARAM for SIZE_MINIMIZED WM_SIZE messages.
This commit is contained in:
parent
b7812932bc
commit
b31f0f24ff
@ -66,11 +66,16 @@ static void DEFWND_HandleWindowPosChanged( HWND hwnd, const WINDOWPOS *winpos )
|
||||
|
||||
if (!(winpos->flags & SWP_NOCLIENTSIZE) || (winpos->flags & SWP_STATECHANGED))
|
||||
{
|
||||
WPARAM wp = SIZE_RESTORED;
|
||||
if (IsZoomed(hwnd)) wp = SIZE_MAXIMIZED;
|
||||
else if (IsIconic(hwnd)) wp = SIZE_MINIMIZED;
|
||||
if (IsIconic( hwnd ))
|
||||
{
|
||||
SendMessageW( hwnd, WM_SIZE, SIZE_MINIMIZED, 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
WPARAM wp = IsZoomed( hwnd ) ? SIZE_MAXIMIZED : SIZE_RESTORED;
|
||||
|
||||
SendMessageW( hwnd, WM_SIZE, wp, MAKELONG(rect.right-rect.left, rect.bottom-rect.top) );
|
||||
SendMessageW( hwnd, WM_SIZE, wp, MAKELONG(rect.right-rect.left, rect.bottom-rect.top) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -581,7 +581,7 @@ static const struct message WmShowMinOverlappedSeq[] = {
|
||||
{ WM_GETTEXT, sent|defwinproc|optional },
|
||||
{ WM_WINDOWPOSCHANGED, sent },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|defwinproc|wparam, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|defwinproc|wparam|lparam, SIZE_MINIMIZED, 0 },
|
||||
{ WM_NCCALCSIZE, sent|optional },
|
||||
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
|
||||
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
|
||||
@ -1004,7 +1004,7 @@ static const struct message WmShowChildInvisibleParentSeq_1[] = {
|
||||
{ WM_CHILDACTIVATE, sent|optional },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_FRAMECHANGED|SWP_NOREDRAW|SWP_NOCOPYBITS|SWP_STATECHANGED, 0, SWP_NOACTIVATE },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|defwinproc|wparam, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|defwinproc|wparam|lparam, SIZE_MINIMIZED, 0 },
|
||||
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
|
||||
{ EVENT_SYSTEM_MINIMIZESTART, winevent_hook|wparam|lparam, 0, 0 },
|
||||
/* FIXME: Wine creates an icon/title window while Windows doesn't */
|
||||
@ -1044,7 +1044,7 @@ static const struct message WmShowChildInvisibleParentSeq_3[] = {
|
||||
{ WM_CHILDACTIVATE, sent },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_FRAMECHANGED|SWP_NOREDRAW|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|defwinproc|wparam, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|defwinproc|wparam|lparam, SIZE_MINIMIZED, 0 },
|
||||
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
|
||||
{ EVENT_SYSTEM_MINIMIZESTART, winevent_hook|wparam|lparam, 0, 0 },
|
||||
/* FIXME: Wine creates an icon/title window while Windows doesn't */
|
||||
@ -1065,7 +1065,7 @@ static const struct message WmShowChildInvisibleParentSeq_4[] = {
|
||||
{ EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, 0, 0 },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOREDRAW|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|defwinproc|wparam, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|defwinproc|wparam|lparam, SIZE_MINIMIZED, 0 },
|
||||
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
|
||||
{ EVENT_SYSTEM_MINIMIZESTART, winevent_hook|wparam|lparam, 0, 0 },
|
||||
/* FIXME: Wine creates an icon/title window while Windows doesn't */
|
||||
@ -3186,7 +3186,7 @@ static const struct message WmMinimizeMDIchildVisibleSeq[] = {
|
||||
{ WM_NCCALCSIZE, sent|wparam, 1 },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOCOPYBITS|SWP_NOCLIENTSIZE|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|defwinproc|wparam, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|defwinproc|wparam|lparam, SIZE_MINIMIZED, 0 },
|
||||
{ WM_CHILDACTIVATE, sent|wparam|lparam|defwinproc, 0, 0 },
|
||||
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI child */
|
||||
{ EVENT_SYSTEM_MINIMIZESTART, winevent_hook|wparam|lparam, 0, 0 }, /* MDI child */
|
||||
@ -10254,7 +10254,7 @@ static const struct message WmShowMinimized_1[] = {
|
||||
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE }, /* win2000 doesn't send it */
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|wparam|defwinproc, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|wparam|lparam|defwinproc, SIZE_MINIMIZED, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
static const struct message WmMinimize_1[] = {
|
||||
@ -10264,7 +10264,7 @@ static const struct message WmMinimize_1[] = {
|
||||
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|wparam|defwinproc, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|wparam|lparam|defwinproc, SIZE_MINIMIZED, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
static const struct message WmMinimize_2[] = {
|
||||
@ -10273,7 +10273,7 @@ static const struct message WmMinimize_2[] = {
|
||||
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|wparam|defwinproc, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|wparam|lparam|defwinproc, SIZE_MINIMIZED, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
static const struct message WmMinimize_3[] = {
|
||||
@ -10281,7 +10281,7 @@ static const struct message WmMinimize_3[] = {
|
||||
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc },
|
||||
{ WM_SIZE, sent|wparam|defwinproc, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|wparam|lparam|defwinproc, SIZE_MINIMIZED, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
static const struct message WmShowMinNoActivate[] = {
|
||||
@ -10289,7 +10289,7 @@ static const struct message WmShowMinNoActivate[] = {
|
||||
{ WM_WINDOWPOSCHANGING, sent },
|
||||
{ WM_WINDOWPOSCHANGED, sent },
|
||||
{ WM_MOVE, sent|defwinproc|optional },
|
||||
{ WM_SIZE, sent|wparam|defwinproc|optional, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|wparam|lparam|defwinproc|optional, SIZE_MINIMIZED, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
static const struct message WmMinMax_1[] = {
|
||||
@ -10315,7 +10315,7 @@ static const struct message WmMinMax_3[] = {
|
||||
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED },
|
||||
{ WM_MOVE, sent|defwinproc|optional },
|
||||
{ WM_SIZE, sent|wparam|defwinproc|optional, SIZE_MINIMIZED },
|
||||
{ WM_SIZE, sent|wparam|lparam|defwinproc|optional, SIZE_MINIMIZED, 0 },
|
||||
{ 0 }
|
||||
};
|
||||
static const struct message WmMinMax_4[] = {
|
||||
|
@ -1077,14 +1077,18 @@ static BOOL show_window( HWND hwnd, INT cmd )
|
||||
/* should happen only in CreateWindowEx() */
|
||||
int wParam = SIZE_RESTORED;
|
||||
RECT client = wndPtr->rectClient;
|
||||
LPARAM lparam = MAKELONG( client.right - client.left, client.bottom - client.top );
|
||||
|
||||
wndPtr->flags &= ~WIN_NEED_SIZE;
|
||||
if (wndPtr->dwStyle & WS_MAXIMIZE) wParam = SIZE_MAXIMIZED;
|
||||
else if (wndPtr->dwStyle & WS_MINIMIZE) wParam = SIZE_MINIMIZED;
|
||||
else if (wndPtr->dwStyle & WS_MINIMIZE)
|
||||
{
|
||||
wParam = SIZE_MINIMIZED;
|
||||
lparam = 0;
|
||||
}
|
||||
WIN_ReleasePtr( wndPtr );
|
||||
|
||||
SendMessageW( hwnd, WM_SIZE, wParam,
|
||||
MAKELONG( client.right - client.left, client.bottom - client.top ));
|
||||
SendMessageW( hwnd, WM_SIZE, wParam, lparam );
|
||||
SendMessageW( hwnd, WM_MOVE, 0, MAKELONG( client.left, client.top ));
|
||||
}
|
||||
else WIN_ReleasePtr( wndPtr );
|
||||
|
Loading…
x
Reference in New Issue
Block a user