Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口

Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口

ID:40239560

大小:916.50 KB

页数:51页

时间:2019-07-28

Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口_第1页
Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口_第2页
Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口_第3页
Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口_第4页
Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口_第5页
资源描述:

《Visual C++应用教程 郑阿奇 丁有和 第5章图标、光标和窗口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章图标、光标和窗口框架5.1图像编辑器5.2图标5.3光标5.4窗口样式和状态5.5综合应用5.1图像编辑器5.1.1图像编辑器1.创建一个新的图标或光标在VisualC++6.0中,创建一个应用程序后,当按快捷键Ctrl+R就可打开“插入资源”对话框,从中选择Cursor(光标)或Icon(图标)资源类型,单击[新建]按钮后,系统为程序添加一个新的图标或光标资源,同时在开发环境右侧出现图像编辑器。图5.1是添加一个新的图标资源后出现的图像编辑器。新设备按钮图5.1添加图标后的图像编辑器5.1图像编辑器在创建新图标或光标的时候,图像编辑器首先创建的

2、是一个适合于VGA环境中的图像,开始的时候它以屏幕色(透明方式)来填充。对于创建的新光标,其“热点”被初始化为左上角的点,坐标为(0,0)。默认情况下,图像编辑器所支持的显示设备如表5.1所示。表5.1创建图标或光标时可选用的显示设备设备颜色数目宽度高度单显模式(Monochrome)23232小设备模式(Small)161616标准模式(Standard)163232大模式(Large)25648485.1图像编辑器2.选用和定制显示设备在图像编辑器工作窗口的控制条上,有一个“新设备图像”(NewDeviceImage)按钮,单击此按钮后,系统弹出相

3、应的新设备列表,可以从中选取需要的显示设备,如图5.2所示。图5.2图像设备选择对话框图图5.3自定义设备图像除了对话框列表框显示的设备外,还可以单击[自定义]按钮,在弹出的对话框中定制新的显示设备,如图5.3所示,在这里可指定新设备图像的大小和颜色。5.1图像编辑器3.设置光标热点Windows系统借助光标“热点”来确定光标实际的位置。在图像编辑器的控制条上或光标属性对话框中都可以看到当前的光标“热点”位置。图5.4是添加一个新的光标资源后出现的图像编辑器。控制条设置热点按钮图5.4添加光标后的图像编辑器5.2图标5.2.1图标的调入、清除和显示1.

4、图标的调入在MFC中,当在应用程序中添加一个图标资源后,就可以使用CWinApp::LoadIcon函数可将其调入并返回一个图标句柄。函数原型如下:HICONLoadIcon(LPCTSTRlpszResourceName)const;HICONLoadIcon(UINTnIDResource)const;其中,lpszResourceName和nIDResource分别表示图标资源的字符串名和标识。函数返回的是一个图标句柄。如果不想使用新的图标资源,也可使用系统中预定义好的标准图标,这时需调用CWinApp::LoadStandardIcon函数,其

5、原型如下:HICONLoadStandardIcon(LPCTSTRlpszIconName)const;其中,lpszIconName可以是下列值之一:IDI_APPLICATION默认的应用程序图标IDI_HAND手形图标(用于严重警告)IDI_QUESTION问号图标(用于提示消息)IDI_EXCLAMATION警告消息图标(惊叹号)IDI_ASTERISK消息图标5.2图标2.图标的消除图标装载后,可使用全局函数DestroyIcon来删除图标,并释放为图标分配的内存,其原型如下:BOOLDestroyIcon(HICONhIcon);其中,h

6、Icon用来指定要删除的图标句柄。3.图标的显示图标的显示一般有两种方法:一是通过静态图片控件来显示,或在其他(如按钮)控件设置显示;二是通过函数CDC::DrawIcon用来将一个图标绘制在指定设备的位置处(这一方法以后再讨论)。4.图标示例下面来看一个示例,如图5.5所示,单击[开始]按钮,3个图标就会每隔100ms随机显示,且此时[开始]按钮变成[停止]。单击[停止]按钮,图标停止更新,按钮的名称变成“开始”,如果3个图标的图案都是一样的,则弹出消息对话框,显示“恭喜你!”,否则显示“失败!”。5.2图标图5.5图标示例分析和思考:(1)从图5.

7、5中可以看出,该示例是一个对话框应用程序。(2)需要创建3个图标资源,且通过3个静态图片控件来显示。为了能在程序中动态地改变静态控件显示的图标,还需为控件添加CStatic类变量,然后通过CStatic::SetIcon来指定,该函数原型如下:HICONSetIcon(HICONhIcon);其中,hIcon用来指定要显示的图标句柄。函数成功调用后,将返回上一次图标的句柄。(3)由于每隔100ms随机显示这些图标,因而需要启动计时器,并在WM_TIMER消息映射函数中添加相关代码,且还需用rand函数来产生随机序列。另外,为了避免每次所产生的随机序列相

8、同,在产生随机数之前使用srand库函数来重新指定随机种子。示例步骤如下:5.2图标[例Ex_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。