Description
Proposal: Win32 apps can use WinRT to create modern window frames.
Summary
UWP apps are launched with a window created for them by ApplicationFrameHost.exe
. These are customized Win32 windows, of course. Win32 apps can use WinRT to customize a specific window via an HWND
. Internally, it would probably take the window handle and take over window frame composition and create an application frame window that allows a Win32 app to host standard content inside of it.
Rationale
- Initial commit of Reunion Common Entrypoint #1 reason why - windowing consistency across UWP apps and Win32 programs hosting XAML
content. XAML content looks best when the proper window frame is being used. - Update issue templates #2 - provides easier ways to customize title bar buttons and color, as we can use the existing
ApplicationViewTitleBar
class.
API proposal
I was thinking we could update Windows/Microsoft.UI.Xaml.Window
and add a function like AttachToWindow
to allow the backend to take control of painting the window we give it via an HWND
. We can then call DetatchFromWindow
and pass in the previous HWND
to stop compositing the modern window and allow the app to take back control customizing its window via the app's own WindowProc
.