因为项目要用到,网上也有很多资料。自己算是比较简洁的实现了自己想要的功能而已,记录下来。
实现方法:
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(); }
因为自己需要,只是简单的实现了全屏而已,另外如何退出等,就大家再去添加了。