【VC++学习笔记五】SDI|MDI的全屏显示

一、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;

}

全屏显示时,需要将系统的任务栏、程序的窗体外科去掉,退出全屏时,恢复这些即可。

一、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; } 全屏显示时,需要将系统的任务栏、程序的窗体外科去掉,退出全屏时,恢复这些即可。
经验分享 程序员 微信小程序 职场和发展