17.3.1 设置对话框全屏显示

2013-10-07 14:39:04 · 作者: · 浏览: 64

17.3  仿木质桌面的全屏对话框

有些软件需要全屏显示,使用效果更佳。本实例的相册翻页效果就是这种情形,将整个桌面模仿现实生活中的桌面,让相册的反动效果更加真实。下面将讲解如何实现仿真实桌面的全屏对话框。

17.3.1  设置对话框全屏显示

实现对话框的全屏效果。这一步比较简单,在对话框的初始化函数中获取屏幕的尺寸,然后根据屏幕的尺寸移动窗体。

  1. 01  BOOL CMyBookDlg::OnInitDialog()   
  2. 02  {  
  3. 03      CDialog::OnInitDialog();  
  4. 04      int screen_width, screen_height;;  
  5. 05      screen_width = GetSystemMetrics(SM_CXSCREEN);       //获取屏幕宽度  
  6. 06      screen_height = GetSystemMetrics(SM_CYSCREEN);      //获取屏幕高度  
  7. 07      MoveWindow(0, 0, screen_width, screen_height, SWP_SHOWWINDOW);  
  8. 08  }  

【代码解析】

第5、6行获取屏幕的尺寸。第7行将窗体全屏化。在这里用到了两个系统函数。

GetSystemMetrics()函数用于得到被定义的系统数据或者系统配置信息。函数原型如下:

  1. int WINAPI GetSystemMetrics(  
  2.     __in int nIndex  
  3. );  

当参数 nIndex被指定为SM_CXSCREEN时,函数返回屏幕的宽。当nIndex被指定为SM_CYSCREEN时,函数返回屏幕的高。

MoveWindow()函数:用于改变指定窗口的位置和尺寸。函数原型如下。

  1. BOOL MoveWindow(  
  2.     HWND hWnd,          //窗口句柄  
  3.     int x,              //指定窗口的新位置的左边界  
  4.     int y,              //指定窗口的新位置的顶部边界  
  5.     int nWidth,         //指定窗口的新的宽度  
  6.     int nHeight,        //指定窗口的新的高度  
  7.     BOOL BRePaint       //确定窗口是否被刷新  
  8. ) ;