使对话框全屏显示

原创 2007年09月13日 10:41:00
如何使对话框全屏显示呢?
我们可以借助于函数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 );

MFC对话框全屏显示代码[亲测可用]

新建MFC对话框应用程序 在FullTestDlg.h : 头文件添加变量private: BOOL bFullScreen; WINDOWPLACEMENT m_struOldWndpl;priva...
  • xuexiiphone
  • xuexiiphone
  • 2016年04月26日 18:13
  • 1288

MFC窗口客户区全屏显示以及PICTURE控件全屏显示

相信用电脑看过电影的人都会下意识的默认双击一个播放器就会得到全屏播放影片的效果,那这个是怎么做到的呢?其实本人也是不知道的。。当然这篇文章不是到这就完了,而是介绍一种在MFC上全屏显示窗口或者PICT...
  • wozhengtao
  • wozhengtao
  • 2016年05月30日 01:07
  • 2994

android上dialog横屏下实现全屏效果

其实在android上实现全屏效果也是很简单滴,主要用到了android为我们提供的样式,下面我贴代码了,算是自己的一个记录。定义样式文件在styles.xml中定义如下两个样式: ...
  • mockingbirds
  • mockingbirds
  • 2016年02月21日 11:18
  • 2965

全屏显示对话框

  • 2012年11月13日 13:54
  • 144KB
  • 下载

VC对话框全屏显示及相应控件位置改变(转)

一、简单对话框全屏显示方法在OnInitDialog()中任意加入: 1、ModifyStyle(WS_CAPTION,0,0); //如果不想去掉标题栏,去掉该句。 SendMessage(WM_S...
  • xunyn
  • xunyn
  • 2011年04月14日 11:29
  • 1428

VC对话框全屏显示及相应控件位置改变(转)

一、简单对话框全屏显示方法 在OnInitDialog()中任意加入: 1、ModifyStyle(WS_CAPTION,0,0); //如果不想去掉标题栏,去掉该句。 SendMessage(...
  • phenixyf
  • phenixyf
  • 2015年12月08日 11:22
  • 271

VC对话框全屏显示及相应控件位置改变

一、简单对话框全屏显示方法 在OnInitDialog()中任意加入: 1、ModifyStyle(WS_CAPTION,0,0); //如果不想去掉标题栏,去掉该句。        SendM...
  • wzsy
  • wzsy
  • 2012年03月07日 16:59
  • 993

VC对话框全屏显示及相应控件位置改变

一、简单对话框全屏显示方法 在OnInitDialog()中任意加入: 1、ModifyStyle(WS_CAPTION,0,0); //如果不想去掉标题栏,去掉该句。 SendMessage(...
  • ffengnal
  • ffengnal
  • 2012年02月14日 10:00
  • 207

在DirectX 全屏独占 方式下显示对话框和任意窗口

DirectX SDK 在全屏方式(full-screen mode)中显示一个窗口 [语言: C++ ]用全屏方式,DirectDraw 拥有对显示的完全控制权。因此,通过GDI 建立的对话框和其他...
  • pizi0475
  • pizi0475
  • 2011年03月23日 09:05
  • 3191

VC++对话框(CDialog)的全屏显示及控件居中显示

在编写一些软件时,我们会比较偏向于比较简洁、清新的用户界面,同时为了避免其它程序或者桌面等影响使用者的注意力等,我们通常习惯将软件界面全屏,布满整个显示屏幕,与此同时,我们也将对界面中的控件位置进行相...
  • margin1988
  • margin1988
  • 2015年01月07日 15:48
  • 1804
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使对话框全屏显示
举报原因:
原因补充:

(最多只允许输入30个字)