WIN32汇编: 6.处理键盘消息[3]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 goddragon 的 blog

                                 berase:dword

lprect是指向客户区我们想要其无效的一个正方形结构体的指针。如果该值等于null,则整个客户区都无效;布尔值berase告诉windows是否擦除背景,如果是true,则windows在调用beginpaint函数时把背景擦掉。 所以我们此处的做法是:我们将保存所有有关重绘客户区的数据,然后发送wm_paint消息,处理该消息的程序段然后根据相关数据重新绘制客户区。尽管这么做事有点像走了弓背,但windows要处理那么庞大的消息群,没有一定的规矩可不行。实际上我们完全可以通过调用getdc 获得设备上下文句柄,然后绘制字符,然后再调用releasedc释放设备上下文句柄,毫无疑问这样也能在客户区绘制出正确的字符。但是如果这之后接收到wm_paint消息要处理时,客户区会重新刷新,而我们这稍前所绘制的字符就会消失掉。所以为了让字符一直正确地显示,就必须把它们放到wm_paint的处理过程中处理。而在本消息处理中发送wm_paint消息即可。

invoke textout,hdc,0,0,addr char,1

本文关键:asm
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top