You can make an invisible window the active window.
This commit is contained in:
parent
a3b97e051a
commit
c0b189b3b6
|
@ -230,7 +230,7 @@ HWND WINAPI SetActiveWindow( HWND hwnd )
|
|||
{
|
||||
LONG style = GetWindowLongW( hwnd, GWL_STYLE );
|
||||
|
||||
if (!(style & WS_VISIBLE) || (style & (WS_POPUP|WS_CHILD)) == WS_CHILD)
|
||||
if ((style & (WS_POPUP|WS_CHILD)) == WS_CHILD)
|
||||
return GetActiveWindow(); /* Windows doesn't seem to return an error here */
|
||||
|
||||
hwnd = WIN_GetFullHandle( hwnd );
|
||||
|
|
|
@ -1864,6 +1864,12 @@ static void test_SetActiveWindow(HWND hwnd)
|
|||
SetWindowPos(hwnd,0,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE|SWP_SHOWWINDOW);
|
||||
ShowWindow(hwnd, SW_HIDE);
|
||||
ok( GetActiveWindow() != hwnd, "Window %p is still active\n", hwnd );
|
||||
|
||||
/* trace("**testing an invisible window now\n"); */
|
||||
SetActiveWindow(hwnd);
|
||||
ok( GetActiveWindow() == hwnd, "Window %p not active\n", hwnd );
|
||||
ok( !(GetWindowLong(hwnd,GWL_STYLE) & WS_VISIBLE), "Window %p is visible\n", hwnd );
|
||||
|
||||
ShowWindow(hwnd, SW_SHOW);
|
||||
|
||||
hwnd2 = CreateWindowExA(0, "static", NULL, WS_POPUP|WS_VISIBLE, 0, 0, 0, 0, hwnd, 0, 0, NULL);
|
||||
|
|
Loading…
Reference in New Issue