Browse Source

Win32 - set internal _shown flag if ShowWindow will make window visible (#16029)

* win32- set internal _shown flag if ShowWindow will make window visible

* check window visibility state from WM_WINDOWPOSCHANGED message
release/11.1.0
Emmanuel Hansen 2 years ago
committed by Steven Kirk
parent
commit
ded5caa41e
  1. 11
      src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs

11
src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs

@ -773,6 +773,17 @@ namespace Avalonia.Win32
return UiaCoreProviderApi.UiaReturnRawElementProvider(_hwnd, wParam, lParam, node);
}
break;
case WindowsMessage.WM_WINDOWPOSCHANGED:
var winPos = Marshal.PtrToStructure<WINDOWPOS>(lParam);
if((winPos.flags & (uint)SetWindowPosFlags.SWP_SHOWWINDOW) != 0)
{
_shown = true;
}
else if ((winPos.flags & (uint)SetWindowPosFlags.SWP_HIDEWINDOW) != 0)
{
_shown = false;
}
break;
}
#if USE_MANAGED_DRAG

Loading…
Cancel
Save