我想创建一个窗口来填充桌面的整个空间,而不包括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);
}
但是如何获得开始菜单的高度?感谢。
答案 0 :(得分:2)
要避开任务栏和任何应用栏,您需要填写工作区。使用GetMonitorInfo
功能查看rcWork
成员。 (请注意,每个监视器都有不同的工作区域,因此您需要知道您关心的监视器。)