- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
吉林大学远程教育章节件
吉林大学远程教育课件;本实例的作用是通过程序捕获键盘消息,
然后将wParam参数所包含的数据进行分解,
最后将各项信息通过窗口显示出来。实例
的源文件包含了Initlnstance、
MyRegisterClass、ShowKey、WinMain
和WndProc五个函数。程序的基本思路
是以WinMain函数作为程序入口,再调用 MyRegisterClass函数和 InitInstance函数注册窗口类并创建和保存窗日,然后创建和显示窗口,最后进入消息循环。
下面重点分析函数WndProc和 ShowKey。 ;1.WndProc函数
在本实例中WndProc函数处理的消息
主要有WM_CREATE、WM_SIZE、
WM_PAINT和键盘消息。
case WM_CREATE://处理窗口创建的消息
? hdc = GetDC (hwnd);
? //设定字体
?SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT));
? //检取当前字体的度量数据
?GetTextMetrics (hdc, tm);
?xChar = tm.tmAveCharWidth;//保存字体平均宽度
?yChar = tm.tmHeight;//保存字体高度
?ReleaseDC (hwnd, hdc);
?rc.top = 3 * yChar / 2;
?return 0;
?
;这一程序段的主要作用是将字体对象选入
当前窗体的设备描述表中,同时取得字体
高度和平均宽度,再初始化编辑区的滚屏
区域的右上角Y坐标。进入该程序段后,
首先通过GetDC函数获得当前窗体的
设备描述表,再通过GetStockObject函数
获得系统字体,然后用 SelectObject函数
将字体对家选入窗体的设备描述表中。其中,hdc为设备描述表句柄。在完成所有操作后,程序还必须通过ReleaseDC函数释放设备描述表。在该程序段中使用了GetTextMetrics函数来获得字体的几何尺寸。GetTextMetrics函效的原型定义如下:
BOOL GetTextMetrics(
HDC hdc, // 指向设备描述表的句柄
LPTEXTMETRIC lptm
// TEXTMETRIC结构体变量的指针
// 所获得的所有信息保存在TEXTMETRIC结构体变量中
));;其中lptm是一个指向 TEXTMETRIC
结构体的指针。 TEXTMETRIC结构体
包含了与字体的几何尺寸相关的基本信息。
该结构体的具体定义如下:
typedef struct tagTEXTMETRIC{ // tm
LONG tmHeight;// 字体高度
LONG tmAscent;//字体高于基准线的高度
LONG tmDescent;// 字体低于基准线的高度
LONG tmInternalLeading;// 给大写字母留出的空间
LONG tmExtenalLeading;
// 由字体设计者推荐的附加行距
LONG tmAveCharWidth;// 字体平均宽度
LONG tmMaxCharWidth;// 字体最大宽度
LONG tmWeight; // 字体黑度
LONG tmOverhang;
// 在合成斜体或黑体时加在字符上的附加宽度值
LONG tmDigitizedAspectX;// 字体所适合的高宽比的宽
LONG tmDigitizedAspectY; // 字体所适合的高宽比的高; BCHAR tmFirstChar;
// 字体中定义的第一个字符
BCHAR tmLastChar;
//字体中定义的最后一个字符
BCHAR trnDefaultChar;
//字体
文档评论(0)