第三章 windouw应用程序
3-1Windows编程中窗口的含义是什么?
答:
窗口是Windows应用程序的基本操作单元,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位。
3-2事件驱动的特点是什么?
答:
按下鼠标键时,系统就会产生一条特定的消息,标识鼠标按键事件的发生。Windows程序的执行顺序取决于事件发生的顺序,程序的执行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。程序员可以针对消息类型编写程序以处理接收的消息,或者发出其他消息以驱动其他程序,但是不必预先确定消息产生的次序。
3-4句柄的作用是什么?请举例说明。
答:
句柄是整个Windows编程的基础,一个句柄是指Windows使用的一个惟一的整数值,是一个4字节长的数值,用于标识应用程序中不同的对象和同类对象中不同的实例,诸如一个窗口、按钮、图标、滚动条、输出设备、控制或者文件等。
3-5一个Window应用程序最基本的构成应有哪些成分?
答:
Windows应用程序由c语言源程序文件、头文件、模块定义文件、资源描述文件、项目文件构成。
第四章Windows的图形设备接口及Windows绘图
4-1什么是图形设备接口?
南京软件培训答:
图形设备接口是Windows系统的重要组成部分,负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字。
4-2如何进行图形的刷新?
答:
图形刷新包括刷新的请求、系统对刷新请求的响应以及具体的刷新方法。
常用的Windows应用程序刷新窗口的方法:
1在内存中保持一个显示输出的副本,当需要重绘窗口时,将副本复制到相应的窗口中。该方法适用于刷新位图等复杂图形。
2记录曾经发生的事件,在窗口需要刷新时重新调用窗口执行这个事件。
3重新绘制图形,一般对于简单图形常采用重新绘制图形方法执行刷新。在应用程序中,将图形绘制处理程序放在消息WM_PAINT响应模块中,一旦程序接收到刷新请求即可重绘图形。
新东方雅思词汇mp3
4-4如何定义映像模式?
答:
调用GetMapMode函数可获取当前设备环境的映射模式。
第五章 文本的输出方法与字体的设置
5-1如何获取字体句柄?
答:
(1)定义字体句柄变量,语法如下:
HFONT hF; //hF为字体的句柄
(2)调用函数GetStockObject获得系统字体句柄,它返回的系统是默认字体,语法如下:
hF=GetStockObject();
(3)调用函数SelectObject将字体选入设备环境,语法如下:
SelectObject(hdc,hF);
5-2如何创建自定义字体?
答:
程序员可以调用函数GreateFont创建自定义字体。该函数的调用形式如下:
HFont=CreateFont
(
int nHeight,
int nWidth,
int nEscapement,
int nOrientation,
int nWeight,
DWOARD fdwltalic,
DWORD fdwUnderLine,
DWORD fdwStrikeOout,
DWORD fdwCharSet,
DWORD fdwOutputPrecision,
DWORD fdwClipPrecision,
马来西亚航班失踪DWORD fdwQuality,
DWORD fdwPitchAndFamily,
DWORD lpszFacename
)
5-3如何设置字体的颜色和背景色?
答:
设置字体颜色:SetTextColor(hdc,crColor);
设置背景颜色:SetBkColor(hdc,crColor);
5-4文本是如何输出的?
答:
(1)获取字体信息
输出文本之前要获取字体的信息,如字符高度等,以确定输出格式和下一行字符的位置
GetTextMetrics (hdc,&tm);//tm为TEXTMETRICS结构
系统定义的TEXTMETRICS的结构如下:
typedef struct tagTEXTMETRIC
{ //tm
LONG tmHeight; //字符高度
LONG tmAscent; //字符基线以上高度
LONG tmDescent; //字符基线以下高度
LONG tmInternalLeading; //tmHeight制订的字符高度顶部的控件
LONG tmExternalLeading; //行与行之间的间隔
LONG tmAveCharWidth; //平均字符宽度
LONG tmMaxCharWidth; //最大字符宽度
LONG tmWeight; //字符的粗细度
LONG tmOverhang; //合成字体间附加的宽度
LONG tmDigitizedAspectX; //为输出设备设计的X轴尺寸
LONG tmDigitizedAspectY; //为输出设备设计的Y轴尺寸
BCHAR tmFirstChar; //字体中第一个字符值
BCHAR tmLastChar; //字体中最后一个字符值
BCHAR tmDefaultChar; //代替不在字体中字符的字符
BCHAR tmBreakChar; //作为分割符的字符
BYTE tmItalic; //非0则表示字体为斜体
BYTE tmUnderlined; //非0则表示字体有下划线
BYTE tmStruckOut; //非0则表示字符为删除字体
tagged comBYTE tmPitchAndFamily; //字体间距和字体族
BYTE tmCharSet; //字符集秋季皮肤保养
callfor}TEXTMETRIC
(2)格式化文本
① 确定后续文本坐标
确定后续文本的坐标,应先获取当前的字符串的宽度, 该工作由GetTextExtentPoint32函数完成,并把它存储于一个SIZE结构中。
BooL GetTextExtentPoint32
(
HDC hdc,
LPCTSTR lpszString,//指定的字符串
int nLength, //字符串中的字符数
LPSIZE lpSize //返回加字符串宽度及高度的SIZE数据结构的地址
)
②确定换行时文本坐标
通过计算当前行文本字符的高度与行间隔之和,即可得到换行时文本的起始坐标
字符的高度与行间隔均存储在tm指向的TEXTMETRICS结构中,换行时Y轴上文本的起始坐标cy为:
ExternalLeading;
(3)文本输出
常用的文本输出函数TextOut原型如下:
BOOL TextOut
(
HDC hdc,
int X, int Y, //X, Y为用户区中字符串的起始坐标
刀子的英语
LPCTSTR lpstring, //lpstring为显示的字符串
int nCount //nCount为字符串中的字节数
);
第六章 Windows应用程序对键盘与鼠标的响应
6-1应用程序如何响应键盘消息?
答:
按键消息:每当用户按下或松开一个键时,就产生了一个按键消息.
系统按键消息:Alt键与相关输入键的组合产生的消息,这些键一般由Windows系统内部直接处理,应用程序不处理.
foundations
cream soda非系统按键消息:不使用Alt键组合的按键消息.
产生字符消息的条件:
(1)一个按键的组合产生了一个可以显示的字符时,就产生了一个字符消息.WM_KEYDOWN 和WM_KEYUP组合.
(2)只有当键盘驱动程序把键盘字符映射成ACSII码后才能产生WM_CHAR消息.
(3)TranslateMessage函数把键盘消息转化为字符消息.
6-2应用程序如何响应鼠标消息?
答:
鼠标作为定位输入设备,通过鼠标单击、双击和拖动功能,用户可以很容易地操作基于Windows图形界面的应用程序. Windows中通过光标来指示当前鼠标的位置.在Windows操作系统中预定义了几种光标.并在Windows.h头文件中加以定义.
用户自定义光标2018雅思考试时间
自定义光标保存在扩展名为.cur的文件中。
光标名 CURSOR 光标文件(.cur)
加载光标资源(常在定义窗口类时进行)