巧用Visual C++编程来实现全屏幕显示功能
2010-07-20 20:45:56 来源:WEB开发网前言:
在Visual C++编程中,有时需要采用尽量大的区域来作为显示区域,那么实现程序的全屏幕显示就不失为一种很好的选择了,所谓全屏幕显示,就是程序界面上没有菜单条、工具条等附加项,整个显示屏幕作为一个显示窗口来显示数据或图像,Windows的很多应用程序都提供了全屏幕显示功能,如Word、Excel和IE等。本例通过响应鼠标单击在全屏幕上画数字曲线来说明如何实现程序的全屏幕显示。
一、实现方法
实现程序的全屏幕其实很容易,它的实现思路就是:首先要自定义一个窗口类,重载该窗口类的OnPaint()或OnDraw()函数,实现具体的窗口显示功能,然后调用API函数GetDeviceCaps(int nIndex )函数来获取当前显示屏幕的尺寸,如nIndex取LOGPIXELSX值可以得到屏幕的宽度(以像素为单位),取LOGPIXELSY值可以得到屏幕的高度。有了屏幕的尺寸还不够,还必须调用一个API函数MoveWindow()用来定位当前窗口到整个屏幕。需要读者注意的是,为了实现窗口与用户的交互,要在窗口中装载一个光标,另外,为了重全屏幕显示恢复到正常状态,需要在该窗口类中处理WM_KEYDOWN消息,在该消息处理函数中识别是否用户按下了ESC(退出)键,如是,程序恢复到正常显示状态。下面的代码实现了上面所有的功能,并且能够响应鼠标操作,在屏幕上数字曲线。编程步骤如下:
1、定义一个窗口类CGribbleWnd,它包含两个整形变量m_pixelsX、m_pixelsY,分别用来存储窗口的尺寸;
2、使用CLASSWIZARD重载窗口类的OnPain()函数,实现具体的显示功能;
3、使用CLASSWIZARD为窗口类添加WM_CREATE、WM_ERASEBKGND、WM_KEYDOWN、WM_LBUTTONDOWN等消息处理函数,以实现全屏幕窗口和响应用户操作;
赞助商链接