龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

在VC++6.0开发中实现全屏显示

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
全屏显示是一些应用软件程序必不可少的功能。比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“ViewFull Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显

  全屏显示是一些应用软件程序必不可少的功能。比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“ViewFull Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态。

  在VC++6.0中我们用AppWizard按默认方式生成单文档界面的应用程序框架。下面将先讨论点击菜单项“ViewFull Screen”实现全屏显示的方法,再讲述按“Esc”键后如何退出全屏显示状态。

  1) 在CMainFrame类中,增加如下三个成员变量。

  class CMainFrame : public CFrameWnd

  { private: //自己添加的三个成员变量

  WINDOWPLACEMENT m_OldWndPlacement; //用来保存原窗口位置

  BOOL m_bFullScreen; //全屏显示标志

  CRect m_FullScreenRect; //表示全屏显示时的窗口位置

  protected: CMainFrame();

  DECLARE_DYNCREATE(CMainFrame)}

  2)在资源编辑器中编辑菜单IDR_MAINFRAME。在“View”菜单栏下添加菜单项“Full Screen”。在其属性框中,ID设置为ID_FULL_SCREEN,Caption为“Full Screen”。还可以在工具栏中添加新的工具图标,并使之与菜单项“Full Screen”相关联,即将其ID值也设置为ID_FULL_SCREEN。

  3)设计全屏显示处理函数,在CMainFrame类增加上述菜单项ID_FULL_SCREEN消息的响应函数。响应函数如下:

  void CMainFrame::OnFullScreen()

  {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);

精彩图集

赞助商链接