zoukankan      html  css  js  c++  java
  • 怎样实现全屏显示(vc)

    源代码如下:
    void CMainFrame::SetFullScreenMode(BOOL bFullMode) // 全屏显示
    {
     if(bFullMode == m_bFullScreenMode)// 当前状态已经是全屏或非全屏状态,直接返回
      return;
     //m_bToolBarWasVisible = (m_wndToolBar.IsWindowVisible() != 0);
     //m_wndToolBar.ShowWindow(!bFullMode);
     m_bStatisBarWasVisible = (m_wndStatusBar.IsWindowVisible() != 0);
     m_wndStatusBar.ShowWindow(!bFullMode);
     // 保存窗口位置
     if(bFullMode)
      GetWindowRect(&m_MainRect);
     else 
      MoveWindow(m_MainRect);  
     
     // 移走或添加主窗口的标题
     LONG style = ::GetWindowLong(m_hWnd,GWL_STYLE);
     if(bFullMode)
      style &= ~WS_CAPTION;
     else
      style |= WS_CAPTION;
     ::SetWindowLong(m_hWnd,GWL_STYLE,style);
     int cxScreen = GetSystemMetrics(SM_CXSCREEN);
     int cyScreen = GetSystemMetrics(SM_CYSCREEN);
     
     if(bFullMode)
     { //设置窗口位置
      SetWindowPos(NULL,-2,-2,cxScreen,cyScreen,SWP_NOZORDER);
      // 保存最初的菜单,并设置菜单为 NULL
      ASSERT(m_OrgMenu.GetSafeHmenu() == NULL);
      CMenu *pOldMenu = GetMenu();
      m_OrgMenu.Attach(pOldMenu->Detach());
      SetMenu((CMenu*)NULL);

      // 右侧控制面板
      m_wndMyBar1.ShowWindow(SW_HIDE);
      m_TabCtrl.ShowWindow(SW_HIDE);

     }
     else
     {
      ASSERT(m_OrgMenu.GetSafeHmenu() != NULL);
      SetMenu(&m_OrgMenu);
      m_OrgMenu.Detach();

      // 右侧控制面板
      m_wndMyBar1.ShowWindow(SW_SHOW);
      m_TabCtrl.ShowWindow(SW_SHOW);
     }

     // 窗口所有控件重排
     RecalcLayout();

     m_bFullScreenMode = bFullMode;
    }

    在View中调用
    void CNiKoView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
    {
     // TODO: Add your message handler code here and/or call default
     if(nChar == 'F' || nChar == 'f' || nChar == VK_ESCAPE)
     {// 全屏显示控制
      CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
      if(nChar == 'F' || nChar == 'f' )
       pFrame->SetFullScreenMode(TRUE);
      else
       pFrame->SetFullScreenMode(FALSE);
     }

     CView::OnChar(nChar, nRepCnt, nFlags);
    }

  • 相关阅读:
    iPhone SDK开发基础之UIPageControl编程
    Ubuntu Linux从初学到精通
    软件架构经验总结
    CMS之图片管理(3)
    如何将简单CMS后台管理系统示例转换为Java、Php等不同后台语言的版本
    CMS之图片管理(5)
    CMS之图片管理(4)
    iphone4s中cocos2d出现闪屏,花屏的解决方案
    CMS之图片管理(1)
    5 个常用的软件质量指标
  • 原文地址:https://www.cnblogs.com/mazhenyu/p/831389.html
Copyright © 2011-2022 走看看