对话框全屏

      在OnInitDialog()函数中,调用

this->ShowWindow( SW_SHOWMAXIMIZED);

函数用于将对话框全屏。

      其可选参数如下:

  • SW_HIDE   隐藏该窗口,并激活另一个窗口。
  • SW_MINIMIZE   最小化窗口,并且激活系统列表中的顶层窗口。
  • SW_RESTORE   激活并显示窗口。如果窗口最大化或最小化,窗口将被还原为其初始化时的大小和位置。
  • SW_SHOW   激活该窗口,并且以当前的尺寸和位置显示该窗口。
  • SW_SHOWMAXIMIZED   激活窗口,并最大化显示该窗口。
  • SW_SHOWMINIMIZED   激活窗口,并且将其显示为一个图标。
  • SW_SHOWMINNOACTIVE   窗口显示为一个图标,并且当前活动窗口仍然有效。
  • SW_SHOWNA   以当前状态显示窗口,当前窗口仍然有效。
  • SW_SHOWNOACTIVATE   以其最近的尺寸和位置显示窗口,当前窗口仍然有效。
  • SW_SHOWNORMAL   激活并显示窗口。如果窗口最大化或最小化,就将窗口还原为其原来的尺寸和位置。

可根据具体的需求选择需要的参数。在这里,选择SW_SHOWMAXSIZED来实现对话框的全屏显示。

      不过,在实际编程时吗、,将参数写为SW_MAXIMIZE,也会获得全屏的效果。

      第二种实现对话框窗口全屏的方式是:

ModifyStyle(WS_CAPTION,0,0); //此句可以去掉对话框中的标题栏
SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE,0);


      第三种全屏显示的方法:随屏幕的分辩率而调节

      GetWindowPlacement(&m_OldWndPlacement);    
  CRect WindowRect;    
  GetWindowRect(&WindowRect);    
  CRect ClientRect;    
  RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &ClientRect);    
  ClientToScreen(&ClientRect);
   
  //获取屏幕的分辨率    
  int nFullWidth=GetSystemMetrics(SM_CXSCREEN);    
  int nFullHeight=GetSystemMetrics(SM_CYSCREEN);
    
  //将除控制条外的客户区全屏显示到从(0,0)到(nFullWidth, nFullHeight)区域,
      //将(0,0)和(nFullWidth, nFullHeight)两个点外扩充原窗口和除控制条之外的
      //客户区位置间的差值, 就得到全屏显示的窗口位置    
  m_FullScreenRect.left=WindowRect.left-ClientRect.left;    
  m_FullScreenRect.top=WindowRect.top-ClientRect.top;    
  m_FullScreenRect.right=WindowRect.right-ClientRect.right+nFullWidth;    
  m_FullScreenRect.bottom=WindowRect.bottom-ClientRect.bottom+nFullHeight;    
  m_bFullScreen=TRUE;   //设置全屏显示标志为TRUE
    
  //进入全屏显示状态    
  WINDOWPLACEMENT wndpl;    
  wndpl.length=sizeof(WINDOWPLACEMENT);    
  wndpl.flags=0;    
  wndpl.showCmd=SW_SHOWNORMAL;    
  wndpl.rcNormalPosition=m_FullScreenRect;    
  SetWindowPlacement(&wndpl);



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值