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
pull/16053/head
Emmanuel Hansen 2 years ago
committed by GitHub
parent
commit
87ea0d2ffa
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 11
      src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs

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

@ -790,6 +790,17 @@ namespace Avalonia.Win32
return UiaCoreProviderApi.UiaReturnRawElementProvider(_hwnd, wParam, lParam, node); return UiaCoreProviderApi.UiaReturnRawElementProvider(_hwnd, wParam, lParam, node);
} }
break; 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 #if USE_MANAGED_DRAG

Loading…
Cancel
Save