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

}

 

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

posted @ 2014-09-17 21:41  OldGlory  阅读(286)  评论(0编辑  收藏  举报