MFC 中的全屏窗口
Posted
技术标签:
【中文标题】MFC 中的全屏窗口【英文标题】:Full screen window in MFC 【发布时间】:2015-03-25 16:20:36 【问题描述】:我正在使用 MFC 来制作应用程序。当我单击该应用程序时,它必须全屏显示。我遵循该代码
CRect rcDesktop;
rcDesktop.left = GetSystemMetrics(SM_XVIRTUALSCREEN);
rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXVIRTUALSCREEN);
rcDesktop.top = GetSystemMetrics(SM_YVIRTUALSCREEN);
rcDesktop.bottom = rcDesktop.top + GetSystemMetrics(SM_CYVIRTUALSCREEN);
MoveWindow(rcDesktop, FALSE);
但是,它仅适用于多台显示器。如果我也有两台显示器,但我想在一台显示器上显示全屏应用程序。如何实施。我遵循document 并尝试了
CRect rcDesktop;
rcDesktop.left = GetSystemMetrics(SM_CVSCREEN);
rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXFULLSCREEN);
rcDesktop.top = GetSystemMetrics(SM_CVSCREEN);
rcDesktop.bottom = rcDesktop.top + GetSystemMetrics(SM_CYFULLSCREEN);
MoveWindow(rcDesktop, FALSE);
但是,它不起作用。因为我需要把坐标放在
rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXFULLSCREEN);
你能帮我修复我的代码吗?我正在使用 Visual Studio 2012 和 MFC
【问题讨论】:
阅读this Microsoft documentation应该会给你一些线索。 我想单显示而不是多显示。对于第一个代码,它适用于多个显示 【参考方案1】:在您的视图类中执行以下操作:
SetParent(GetDesktopWindow());
CRect rect;
GetDesktopWindow()->GetWindowRect(&rect);
SetWindowPos(&wndTopMost,rect.left,rect.top,rect.right,rect.bottom,SWP_SHOWWINDOW);
【讨论】:
以上是关于MFC 中的全屏窗口的主要内容,如果未能解决你的问题,请参考以下文章
使用 VS6 C++ GUI 编辑器、MFC 以屏幕(像素)为单位调整全屏窗口大小?
Python:文本覆盖在所有窗口之上,包括 Linux 中的全屏