QQ登录

只需一步,快速开始

窗口全屏显示与还原--上位机VC

[ 复制链接 ]

窗口全屏显示与还原--上位机VC

窗口全屏显示与还原--上位机VC

窗口全屏显示与还原--上位机VC
功能展示
VC6具有窗口全屏显示方便进行资源的编辑功能,我们当前例程也实现窗口全屏显示与还原功能,效果如图,当前是基于对话框的全屏效果,点击按钮,窗口全屏显示,再次点击,窗口还原到原先位置
要点提示
窗口全屏显示可以调用函数 SetWindowPlacement ()实现,为了可以还原窗口原先位置与大小,例程在全屏前利用函数GetWindowPlacement()保存了窗口的位置信息,还原时再次调用函数SetWindowPlacement()进行还原;
实现功能
1.新建基于对话框的应用程序
2.添加变量BOOL       m_bFullScreen;//标识全屏与否  WINDOWPLACEMENT m_wpPrev;//保存正常状态窗口位置信息  CRect m_FullScreenWindowRect; 并初始化 m_bFullScreen=FALSE;

3.添加按钮<窗口全屏/还原>关联点击函数
  1. void CGkbc8Dlg::OnButton1()
  2. {
  3.         RECT rectDesktop;
  4.     WINDOWPLACEMENT wpNew;
  5.     if (!m_bFullScreen)
  6.     {
  7.                 GetWindowPlacement (&m_wpPrev);// We'll need these to restore the original state.
  8.                 m_wpPrev.length = sizeof(m_wpPrev);
  9.                
  10.         //Adjust RECT to new size of window
  11.                 ::GetWindowRect ( ::GetDesktopWindow(), &rectDesktop );
  12.                 ::AdjustWindowRectEx(&rectDesktop, GetStyle(), TRUE, GetExStyle());
  13.                 m_FullScreenWindowRect = rectDesktop;// Remember this for OnGetMinMaxInfo()
  14.         
  15.         wpNew                  = m_wpPrev;
  16.         wpNew.showCmd          =  SW_SHOWNORMAL;
  17.                 wpNew.rcNormalPosition = rectDesktop;
  18.                 m_bFullScreen=TRUE;
  19.     }
  20.     else
  21.     {       
  22.                 m_bFullScreen=FALSE;
  23.                 wpNew = m_wpPrev;
  24.         }
  25.         SetWindowPlacement ( &wpNew );//还原窗口位置            
  26. }
复制代码
4.添加OnGetMinMaxInfo()还可以添加鼠标点击函数实现拖动窗口
  1. void CGkbc8Dlg::OnLButtonDown(UINT nFlags, CPoint point)
  2. {
  3.         if(!m_bFullScreen)PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,0);
  4.         CDialog::OnLButtonDown(nFlags, point);
  5. }

  6. void CGkbc8Dlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
  7. {
  8.         if (m_bFullScreen)
  9.     {
  10.         lpMMI->ptMaxSize.y      = m_FullScreenWindowRect.Height();
  11.             lpMMI->ptMaxTrackSize.y = lpMMI->ptMaxSize.y;
  12.             lpMMI->ptMaxSize.x      = m_FullScreenWindowRect.Width();
  13.             lpMMI->ptMaxTrackSize.x = lpMMI->ptMaxSize.x;
  14.     }
  15.         CDialog::OnGetMinMaxInfo(lpMMI);
  16. }
复制代码
我们来演示下功能实现的整个过程

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:窗口全屏显示与还原--上位机VC.rar 
文件大小:413.85 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

回复

使用道具 举报

快速回复 返回列表 客服中心 搜索