[USER32_APITEST] Power to DM_REPOSITION testcase (#2055)

- Add the minimized case.
- Add a test for WS_DISPLAYCHANGE message.
CORE-16490
This commit is contained in:
Katayama Hirofumi MZ 2019-11-20 09:23:32 +09:00 committed by GitHub
parent e4de098127
commit 2a93f61fcb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 3 deletions

View file

@ -10,10 +10,11 @@
static BOOL OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
RECT rc, rcWork;
INT cx, cy;
RECT rc, rc2, rcWork;
INT cx, cy, nBitsPixel;
HMONITOR hMon;
MONITORINFO mi = { sizeof(mi) };
HDC hdc;
/* get monitor info */
hMon = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);
@ -63,6 +64,42 @@ static BOOL OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
ok_long(rc.right, rc.left + cx);
ok_long(rc.bottom, rc.top + cy);
/* minimize */
ShowWindow(hwnd, SW_MINIMIZE);
ok_int(GetWindowRect(hwnd, &rc), TRUE);
/* reposition */
ok_int(SendMessageW(hwnd, DM_REPOSITION, 0, 0), 0);
ok_int(GetWindowRect(hwnd, &rc2), TRUE);
ok_int(EqualRect(&rc, &rc2), TRUE);
/* restore */
ShowWindow(hwnd, SW_RESTORE);
/* move */
ok_int(SetWindowPos(hwnd, NULL,
rcWork.right - cx + 80, rcWork.bottom - cy + 80, 0, 0,
SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOOWNERZORDER |
SWP_NOZORDER), TRUE);
ok_int(GetWindowRect(hwnd, &rc), TRUE);
ok_long(rc.left, rcWork.right - cx + 80);
ok_long(rc.top, rcWork.bottom - cy + 80);
ok_long(rc.right, rc.left + cx);
ok_long(rc.bottom, rc.top + cy);
/* WM_DISPLAYCHANGE */
hdc = GetWindowDC(hwnd);
nBitsPixel = GetDeviceCaps(hdc, BITSPIXEL);
ReleaseDC(hwnd, hdc);
SendMessageW(hwnd, WM_DISPLAYCHANGE, nBitsPixel,
MAKELONG(GetSystemMetrics(SM_CXSCREEN),
GetSystemMetrics(SM_CYSCREEN)));
ok_int(GetWindowRect(hwnd, &rc), TRUE);
ok_long(rc.left, rcWork.right - cx + 80);
ok_long(rc.top, rcWork.bottom - cy + 80);
ok_long(rc.right, rc.left + cx);
ok_long(rc.bottom, rc.top + cy);
/* quit */
PostMessage(hwnd, WM_COMMAND, IDOK, 0);
return TRUE;

View file

@ -33,7 +33,7 @@ FONT 8, "MS Shell Dlg"
}
REPOSITION DIALOG 0, 0, 200, 150
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE WS_OVERLAPPEDWINDOW
CAPTION "DM_REPOSITION"
FONT 8, "MS Shell Dlg"
{