Win32控件未出现在Winui3中
我想要一个winui3窗口,要托管一个Win32控件,我尝试了以下操作:
app.xaml.cs:
protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
{
m_window = new MainWindow();
var hwnd = WinRT.Interop.WindowNative.GetWindowHandle(m_window);
var ctrl = CreateWindow("EDIT", "Edit", WindowStyles.WS_CHILD | WindowStyles.WS_VISIBLE, 100, 100, 300, 50, hwnd, (IntPtr)0, (IntPtr)0, (IntPtr)0);
m_window.Activate();
}
不幸的是,该控件没有直接显示,只有在您非常快速调整窗口大小时才可见。 我认为这是因为控制是在XAML后面创建的。我试图通过将窗帘设置为最上方来解决此问题,但它也无法使用。
SetWindowPos(ctrl, (IntPtr)(-1), 0, 0, 0, 0, SetWindowPosFlags.SWP_NOMOVE | SetWindowPosFlags.SWP_NOSIZE);
有能力解决,还是我忘记了什么?
该文档,访问Win32 API: https:/// Learn.microsoft.com/en-us/windows/apps/winui/winui3/desktop-winui3-app-with-with-with-basic-interop
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论