Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 你能在全屏DirectX图层上绘制Winform绘图吗? 我有一个使用DirectX渲染3D的本地C++应用程序。 应用程序可以使用IDXGISwapChain::SetFullscreenState()在窗口和全屏之间切换。 但是,我的一些UI在托管dll中的.Net Winform中_Windows_Winforms_Winapi_Directx_Winforms Interop - Fatal编程技术网

Windows 你能在全屏DirectX图层上绘制Winform绘图吗? 我有一个使用DirectX渲染3D的本地C++应用程序。 应用程序可以使用IDXGISwapChain::SetFullscreenState()在窗口和全屏之间切换。 但是,我的一些UI在托管dll中的.Net Winform中

Windows 你能在全屏DirectX图层上绘制Winform绘图吗? 我有一个使用DirectX渲染3D的本地C++应用程序。 应用程序可以使用IDXGISwapChain::SetFullscreenState()在窗口和全屏之间切换。 但是,我的一些UI在托管dll中的.Net Winform中,windows,winforms,winapi,directx,winforms-interop,Windows,Winforms,Winapi,Directx,Winforms Interop,在窗口模式下,我只需调用.Net dll,这将打开辅助Winform,因此有两个窗口,主本机MFC/DirectX和.Net Winform控件 但是,当DirectX全屏显示时,我可以在DirectX层上显示Winform吗? 有可能吗 仅设置Winform属性 this.TopMost=true; 这是不够的。winform位于Direct X层之下。 我只想在全屏上显示“我的”WinForm 您可以将其复制到内存中的位图上,并将其复制到DirectX渲染中,然后将消息传递回WinForm。

在窗口模式下,我只需调用.Net dll,这将打开辅助Winform,因此有两个窗口,主本机MFC/DirectX和.Net Winform控件

但是,当DirectX全屏显示时,我可以在DirectX层上显示Winform吗? 有可能吗

仅设置Winform属性 this.TopMost=true; 这是不够的。winform位于Direct X层之下。
我只想在全屏上显示“我的”WinForm

您可以将其复制到内存中的位图上,并将其复制到DirectX渲染中,然后将消息传递回WinForm。不过,如果你想做得太多的话,这可能会很慢。

我很确定这是不可能的。这就是允许应用程序拥有整个屏幕的“全屏”模式的全部要点。哦……很棘手。如果从System.Windows.Form派生,则可以为窗口消息处理程序或Application.AddMessageFilter实现覆盖。然后,您可以模拟桌面焦点并手动将窗口消息分派到窗体。这样,对话框将获得WM_PAINT以及鼠标和键盘事件。因此,这听起来至少是可能的,只要付出足够的努力。好的,很酷。