Windows应用程序
- 格式:docx
- 大小:18.26 KB
- 文档页数:4
Windows应用程序
1、Windows应用程序的最基本构成部分及功能是什么?
答:最基本构成部分:入口函数WinMain和窗口函数WndProc.WinMain函数的主要功能:定义、注册窗口类,建立窗口及执行其他必要的初始化工作;进入消息循环,根据从应用程序消息队列接受的消息,调用相应的处理过程;当消息循环检索到WM_QUIT消息时终止程序运行。
窗口函数是应用程序处理接收到的消息的函数。
其中包含了应用程序对各种可能接收的消息的处理。
2、什么是消息循环?
Windows应用程序的运行以消息为核心。
Windows将产生的消息放入应用程序的消息队列中,而应用程序的WinMain函数从消息循环提取队列中的消息,并将其传递给窗口函数的相应过程处理。
3、消息是什么?事件驱动的特点是什么?
答:消息是描述事件发生的信息。
Windows程序的执行顺序取决于事件发生的顺序,程序的执行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。
程序员可以针对消息类型编写程序以处理接收的信息,或者发出其他消息以驱动其他程序,但是不必预先确定消息产生的次序。
4、句柄的作用是什么?
答:句柄用于标识应用程序中不同的对象和同类对象中不同的实例,诸如一个窗口、按钮、图标、滚动条、输出设备、控制或者文件。
应用程序通过句柄能够访问相应的对象消息。
5、Windows编程中窗口的含义是什么?
答:窗口是Windows应用程序基本的操作单位,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位。
1、什么是图形设备接口?其作用是什么?
答:图形设备窗口是Windows系统的重要组成部分,负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字。
2、设备无关的好处是什么?
答:设备的无关性是操作系统屏蔽了硬件设备的差异,因而设备无关性的图形能使用户编程时无需考虑特殊的硬件设置。
3、如何进行图形的刷新?
答:图形刷新包括刷新的请求、系统对刷新请求的响应以及具体的刷新方法。
常见刷新方法有:在内存中保持一个显示输出的副本,当需要重绘窗口时,将副本复制到相应的窗口中;记录曾经发生的事件,在窗口需要刷新时重新调用窗口执行这个事件;
重新绘制图形,对于简单图形常用此法。
4、如何获得绘图工具的句柄?
答:在使用绘图工具之前先定义绘图工具的句柄。
5、窗口和视口的概念。
答:窗口是对应逻辑坐标系上程序员设定的一个区域。
视口是对应于实际输出设备上程序员设定的一个区域。
6、如何把绘图工具载入设备描述环境进行绘画?
答:创建绘图工具后,必须调用SelectObject函数将其选入设备环境中。
1、如何获得字体句柄?
答:定义字体句柄变量,语法如下:HFONT hf;调用函数GetStockObject获得系统字体句柄,它返回的是系统的默认字体,语法如下:hf=GetStockObject();调用函数SelectObject将字体选入设备环境,语法如下:SelectObject(hdc , hf);。
2、如何创建自定义字体?
答:调用函数GreateFont创建自定义字体。
3、如何设置字体的颜色和背景色?
答:应用程序通过调用函数SetTextColor设置字体颜色,其形式为:SetTextColor(hdc,crColor),调用函数SetBkColor设置背景颜色,其形式为:SetBkColor(hdc,crColor)。
4、文本是如何输出的?
答:文本输出过程包括获取字体信息,格式化文本,调用函数
TextOut输出文本。
1、扫描码和虚拟码的概念。
答:扫描码是指键盘上每一个有意义的键对应着的一个唯一的标识值,当用户按下或释放某键时,都会产生扫描码,扫描码是依赖于具体设备的。
虚拟码由设备驱动程序截取键的扫描码后翻译成的编码,是一种与设备无关的键盘编码,它的值存放在键盘消息的wParam参数中,用以标识哪一个键被按下或释放。
2、键盘消息分为哪两类?它们之间的区别是什么?
答:按键消息和字符消息。
每当用户按下或松开一个键时,就产生一个按键消息。
当一个按键的组合产生了一个可以显示的字符时,就产生了一个字符消息。
按键消息又可分两类:系统按键消息和非系统按键消息。
3、应用程序如何响应键盘信息和鼠标信息?
答:
1、资源包括哪些?
答:Windows应用程序把其界面所需要的诸如菜单、图标、位图、光标、对话框、加速键、字符串、工具栏等一些数据都定义为资源。
2、模态对话框和非模态对话框有何区别?在编程上有何不同?
答:模态对话框不允许用户在关闭对话框之前切换到应用程序的其他窗口。
模态对话框的编程过程:定义对话框资源;调用函数DialogBox显示对话框;构造对话框处理函数以及关闭对话框。
非模态对话框允许用户在该对话框与应用程序其他窗口之间的切换,即对话框和其他应用程序窗口之间进行来回切换。
非模态对话框的编程过程:定义对话框式样;创建对话框函数;消息循环部分的处理以及关闭对话框的函数。
3、应用程序窗口和对话框窗口的区别是什么?
答:窗口是Windows应用程序基本的操作单位,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位。
对话框窗口是一个弹出式窗口,一般用于程序需要用户输入或者需要和用户
进行交互活动的场合。
4、应用程序的界面有哪三种方式?
答:单文档界面、多文档界面和基于对话框的应用程序。
5、构成文档/视图结构中文档类与视图类的作用分别是什么?
答:文档的任务是对数据进行管理和维护,数据通常被保存在文档类成员变量中。
视图类是文档和用户之间的中介。
视图可以直接或间接地访问文档类中的这些成员变量,它从文档类中将数据读出来,在屏幕上显示。
每个文档可以有多个视图,但每个视图只能对应于一个确定的文档。
6、构成文档/视图结构应用程序框架的4个MFC派生类及其功能。
答:CwinApp类:代表主程序,负责维护进程的启动、终止、消息循环、命令行参数、资源管理。
Cdocument类:提供了文档类所需要的最基本的功能实现。
它提供的方法主要有一般方法和虚拟方法。
Cview类:积累为CWnd。
具有CWnd的所有功能:创建、移动、显示和隐藏窗口等,同时接收任何Windows消息。
而Cdocument类则不行。
CdocTemplate类:将原本独立的文档、视图、和框架窗口对象联系在一起。
CframeWnd类:在Doc/View结构中维护很多幕后工作例如工具条、菜单、状态条的显示、更新,视图的文职和显示,其他可停靠空间的停靠和动态尺寸调整。
7、视图类对象如何获得文档类对象的数据?
答:一个视图类可以通过GetDocument()函数得到和它关联的文档的指针,进一步可以得到文档中保存的数据。
8、用class关键词定义的类与用struct定义的类有什么不同?
答:。