因为项目要用到,网上也有很多资料。自己算是比较简洁的实现了自己想要的功能而已,记录下来。
实现方法:
void CTouchPadMFCDlg::FullScreen()
{
CRect rectDeskTop;
WINDOWPLACEMENT wpnew;
GetWindowPlacement(&wpnew);
::GetWindowRect(::GetDesktopWindow(),rectDeskTop);
::AdjustWindowRectEx(rectDeskTop,GetStyle(),FALSE,GetExStyle());
wpnew.showCmd = SW_SHOWNORMAL;
wpnew.rcNormalPosition = rectDeskTop;
SetWindowPlacement(&wpnew);
}
这样全屏之后并不会覆盖任务栏。
只需要将对话框属性中的Border改为Dialog Frame即可。
另:
更改对话框客户区的颜色,在OnPaint()中添加。
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDC *pDc = GetDC();
CRect ClientRect;
GetClientRect(&ClientRect);
pDc->FillSolidRect(ClientRect,RGB(255,255,255));
CDialogEx::OnPaint();
}
因为自己需要,只是简单的实现了全屏而已,另外如何退出等,就大家再去添加了。