MFC编程实例:为MFC应用程序添全屏幕显示功能
安安 2017-12-14 来源 :网络 阅读 1032 评论 0

摘要:本文将为大家讲解为MFC应用程序添全屏幕显示功能,通过MFC编程实例的内容让你对相关知识点有进一步的认识和理解!

本文将为大家讲解为MFC应用程序添全屏幕显示功能,通过MFC编程实例的内容让你对相关知识点有进一步的认识和理解! 

 

在CMainFrame类中添加下列成员变量和成员函数(使用ClassWizard),下面是这些变量和函数的功能说明:

  成员变量:
  BOOL m_bFullScreen; //全屏幕显示标志
  CRect m_FullScreenWindowRect; //全屏幕显示窗口Rect
  WINDOWPLACEMENT m_wpPrev; //用于保存正常视图时的窗口位置信息
  CToolBar * m_wndFullScreenBar; //全屏幕显示时的浮动工具条

  成员函数:
  void OnMenuFullscreen(); //全屏幕显示的处理函数
  void OnGetMinMaxInfo(); //捕获WM_GETMINMAXINFO消息以便允许你增加窗口大小
  void OnUpdateViewFullScreen(); //更新“全屏幕显示”菜单的状态

  源码

  void CMainFrame::OnMenuFullscreen()
  {//全屏幕显示的处理函数
  RECT rectDesktop;
  WINDOWPLACEMENT wpNew;

  if (m_bFullScreen)
  {//全屏幕显示模式
  //隐藏工具条和状态条
  m_wndStatusBar.ShowWindow(SW_HIDE);
  m_wndToolBar.ShowWindow(SW_HIDE);

  //保存正常视图时的窗口位置信息以便恢复原来状态
  GetWindowPlacement (&m_wpPrev);
  m_wpPrev.length = sizeof m_wpPrev;

  //调整RECT为新的窗口尺寸
  ::GetWindowRect ( ::GetDesktopWindow(), &rectDesktop );
  ::AdjustWindowRectEx(&rectDesktop, GetStyle(), TRUE, GetExStyle());

  //保存RECT以便OnGetMinMaxInfo()使用
  m_FullScreenWindowRect = rectDesktop;

  wpNew = m_wpPrev;
  wpNew.showCmd = SW_SHOWNORMAL;
  wpNew.rcNormalPosition = rectDesktop;

  //生成新的工具条
  m_wndFullScreenBar=new CToolBar;

  if(!m_wndFullScreenBar->Create(this, CBRS_SIZE_DYNAMIC|CBRS_FLOATING)
  || !m_wndFullScreenBar->LoadToolBar(IDR_FULLSCREEN))
  {
  TRACE0("Failed to create toolbar\n");
  return; // fail to create
  }

   

希望这篇MFC编程文章可以帮助到你。总之,同学们,你想要的职坐标MFC频道都能找到!

本文由 @安安 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程