日期:2014-05-17  浏览次数:20931 次

windows程序设计学习笔记04

开始之前先初步计划一下这部分的学习吧,工作不是很忙,就是说能持续现在的状态的话,估计一周能看1-2章吧。这么算的话,这本书看完(大致看了一下目录,而且这本书电子版我也跳着看了一阵)少说也要2-3个月吧。而且我感觉这本书非常基础,一章大致看看然后结合api能很快理解,其实这本书作为查阅还是不错。这么说要到7月份了吧,结合windows核心编程一起看,估计要更久。先这样吧

?

第四章 文本输出

1.窗口重绘:窗口移动,导致原来被遮盖的部分曝露出来。调整窗口大小(当窗口类型设置成CS_HREDRAW|CS_VREDRAW)。程序调用ScrollWindow或者ScrollDC函数滚动客户区。程序调用InvalidateRect或者InvalidateRgn函数显示生成WM_PAINT消息。

2.有效矩形和无效矩形

需要重绘部分被称为“无效区域”或“更新区域”。Windows不会再消息队列中放置多条WM_PAINT消息。窗口过程可以调用IvalidateRect函数来强制使自己客户区中的一个矩形无效。

反正,在最终windows会计算出一个包含多块无效矩形的新的无效矩形,通过GetUpdateRect函数来获取这些坐标。

3.GDI

绘制一个窗口的客户区需要调用Windows的图形设备接口(GDI)函数。Windows提供了几个GDI函数用于在客户区内输出字符串。

比如,TextOut、和已经用过的DrawText。hdc(是一个设备环境句柄),设备环境句柄是程序窗口使用GDI函数的“通行证”,他就是Windows内部使用数值确定的一个对象。现在我理解就是生成了一个随机数,来标志某一个对象,对于我们来说不用知道他是多少,对于windows来说知道它对应着谁就可以。

哦对了,在你完成了对客户区的绘制后,必须释放掉设备环境句柄。

?