使对话框全屏显示

如何使对话框全屏显示呢?
我们可以借助于函数SetWindowPos,其原型如下:
BOOL SetWindowPos ( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
参数说明:
pWndInsertAfter  可以取值如下 wndTop    wndBottom  wndTopMost   wndNoTopMost
接下来的四个参数分别用来设置窗口的左上角坐标和窗口的Width and Height ,最后一个
参数用来设置窗口的一些样式
详细的请参看MSDN
下面就来说说如何实现:
窗口要全屏显示,肯定是处于最顶层的所以 pWndInsetAfter取值&wndTopMost
窗口的左上角坐标可以设置为(0,0)或更小。
最后一个参数也好确定我们可以简单地设为SWP_SHOWWINDOW  ,保证窗口显示
关键就是如何设置窗口的Width and Height ,当然我们很容易想到用当前屏幕的 Width 和 Height
来设置窗口的Width和 Height 。但是如何的到呢?
下面介绍几种方法:
方法一:
用GetDeviceCaps,方法如下
    int cx,cy;
    HDC hDC = ::GetDC( NULL );//获得屏幕的DC
    cx = ::GetDeviceCaps( hDC, HORZRES ) + //获取屏幕的水平尺寸
         GetSystemMetrics( SM_CXBORDER ); 
    cy = ::GetDeviceCaps( hDC, VERTRES ) + //获取屏幕的垂直尺寸
         GetSystemMetrics( SM_CYBORDER );
    ::ReleaseDC( NULL, hDC );
这样我们就获得了屏幕的Width 和 Height 了
方法二:
用GetSystemMetrics,方法如下
cx = GetSystemMetrics( SM_CXSCREEN );//获取屏幕的水平尺寸
 cy = GetSystemMetrics( SM_CYSCREEN );//获取屏幕的垂直尺寸
既然Width 和 Height 都已获取了下面用SetWindowPos就可以了
SetWindowPos( &wndTopMost, 0, 0 , cx, cy,
                  SWP_SHOWWINDOW );
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值