MFC PreCreateWindow创建一个窗口,填充除任务栏之外的屏幕

时间:2012-05-23 13:06:26

标签: c++ mfc

我想创建一个窗口来填充桌面的整个空间,而不包括Windows开始菜单,并且不会最大化窗口。

我认为代码应该是这样的:

BOOL CWnd::PreCreateWindow(CREATESTRUCT& cs)
{
    cs.cx = ::GetSystemMetrics(SM_CXSCREEN); 
    cs.cy = ::GetSystemMetrics(SM_CYSCREEN); // minus start menu height please

    return CMDIFrameWnd::PreCreateWindow(cs);
}

但是如何获得开始菜单的高度?感谢。

1 个答案:

答案 0 :(得分:2)

要避开任务栏和任何应用栏,您需要填写工作区。使用GetMonitorInfo功能查看rcWork成员。 (请注意,每个监视器都有不同的工作区域,因此您需要知道您关心的监视器。)