【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;

}

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

原文地址:https://www.cnblogs.com/OldGlory/p/3978115.html