一、Mainframe中添加一个记录是否全屏状态的变量BOOL m_bFullScreen。
二、工具栏添加一个按钮,进行全屏的操作,响应事件函数写在Mainframe中。
三、在响应函数中,添加如下代码:
void CMainFrame::OnFullscreen()
{
if (!m_bFullScreen)
{
this->ModifyStyle(WS_THICKFRAME|WS_CAPTION,NULL);
this->MoveWindow(CRect(0,0,::GetSystemMetrics(SM_CXSCREEN),::GetSystemMetrics(SM_CYSCREEN)),TRUE);
this->ShowWindow(SW_SHOWMAXIMIZED);
FindWindow("Shell_TrayWnd",NULL)->ShowWindow(SW_HIDE);
}
else
{
this->ModifyStyle(NULL,WS_THICKFRAME|WS_CAPTION);
FindWindow("Shell_TrayWnd",NULL)->ShowWindow(SW_SHOW);
this->ShowWindow(SW_SHOW);
}
this->UpdateWindow();
m_bFullScreen = !m_bFullScreen;
}
全屏显示时,需要将系统的任务栏、程序的窗体外科去掉,退出全屏时,恢复这些即可。