- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
案例4:全屏显示 需求与目标 全屏显示是一些应用软件程序必不可少的功能。 在用VC++编辑源文件或编辑对话框等资源时,选择菜单“View/Full Screen”,即可进入全屏显示状态,按下取消全屏显示按钮后会退出全屏显示状态。 思路 可以通过设置主窗口的位置和大小来达到目的 关键之处就是要准确地计算出在主窗口的位置和大小为多少的情况下,才可以使视图充满整个屏幕,而包括控制条在内的所有其它界面成分都不可见 思路 进入全屏显示时候: 记录下当前窗口位置、大小 获得窗口分辨率 重设窗口位置、大小 退出全屏显示时候: 将窗口位置、大小设为先前保存的状态 编程步骤(1) 用AppWizard建立一个SDI(单文档)工程 编程步骤(2) 在CMainFrame类中,增加2个成员变量: CRect m_rcOld; BOOL m_bFullScreen; 在构造函数中初始化: m_bFullScreen = FALSE; 编程步骤(3) 在资源编辑器中编辑菜单IDR_MAINFRAME 在“查看”菜单栏下添加菜单项“全屏显示” 在其属性框中,ID设置为ID_VIEW_FULL_SCREEN 编程步骤(3) 编程步骤(4) 在CMainFrame类增加前述菜单项ID_VIEW_FULL_SCREEN的消息响应函数 OnViewFullscreen() 编程步骤(4) 编程步骤(4) 在消息响应函数中添加代码: void CMainFrame::OnViewFullscreen() { if(m_bFullScreen) SetFullScreen(FALSE); else SetFullScreen(TRUE); } 编程步骤(5) 在CMainFrame类中增加SetFullScreen函数来切换全屏显示 void SetFullScreen(BOOL bFull) { if(TRUE == bFull) {进入全屏显示} else {退出全屏显示} m_bFullScreen = bFull; // 改变标记 } if(TRUE == bFull) // 保存窗口现有位置 GetWindowRect(m_rcOld); // 隐藏状态条 m_wndStatusBar.ShowWindow(SW_HIDE); CStatusBar m_wndStatusBar 窗口下方的状态条 CWnd::ShowWindow BOOL ShowWindow( int nCmdShow ); Sets the visibility state of the window. nCmdShow Specifies how the CWnd is to be shown. It must be one of the following values: SW_HIDE Hides this window and passes activation to another window. SW_SHOW Activates the window and displays it in its current size and position. …… if(TRUE == bFull) // 去掉窗口的WS_CAPTION样式,否则不能完全变成全屏显示 LONG style = ::GetWindowLong(m_hWnd, GWL_STYLE); style = ~WS_CAPTION; ::SetWindowLong(m_hWnd, GWL_STYLE, style); GetWindowLong LONG GetWindowLong( HWND hWnd, // handle of window int nIndex // offset of value to retrieve ); hWnd Handle to the window and, indirectly, the class to which the window belongs. nIndex GWL_STYLE : Retrieves the window styles. Remarks The GetWindowLong function retrieves information about the specified window. The function also retrieves the 32-bit (long) value at the specified offset into the extra window memory of a window. SetWindowLong LONG SetWindowLong( HWN
文档评论(0)