如何使用MFC创建全屏窗口?

时间:2009-12-02 13:16:05

标签: visual-studio visual-studio-2008 mfc visual-c++

我想用MFC创建全屏最顶层(屏幕保护程序)窗口?如何在MFC中创建这样的全屏窗口?我试图创建win32应用程序,我能够创建全屏最顶层的窗口,但我想使用MFC创建,所以稍后我可以在该窗口上放置不同的MFC控件?

请帮帮我。

谢谢, 吉姆。

3 个答案:

答案 0 :(得分:2)

我使用Dialog Box应用程序。在对话框资源的资源编辑器属性中,设置Border = None和Title Bar = False以消除所有边框元素。在OnInitDialog中,使用以下内容将对话框的大小调整为整个桌面:

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);

此代码适用于多个监视器,与最大化窗口不同。

无需担心窗口最顶层,Windows会将其显示在没有其他窗口的专用桌面上。

答案 1 :(得分:1)

您应该能够在此处调整示例代码以执行您想要的操作:

MSDN: Initializing a dialog box

答案 2 :(得分:1)

我认为从对话框资源中删除边框并将窗口显示为最大化(ShowWindow(SW_SHOWMAXIMIZED))应该可以胜任。

最重要的是在对话框资源中使用系统模式样式。