设为首页 加入收藏

TOP

输出文字(三)
2010-12-30 21:10:02 】 浏览:37195
Tags:输出 文字
是显示区域中的矩形区域)。显然,当对话方块覆盖了部分显示区域时,情况即是如此。在擦除对话方块之後,需要重画的只是先前被对话方块遮住的矩形区域。

这个区域称为「无效区域」或「更新区域」。正是显示区域内无效区域的存在,才会让Windows将一个WM_PAINT讯息放在应用程式的讯息伫列中。只有在显示区域的某一部分失效时,视窗才会接受WM_PAINT讯息。

Windows内部为每个视窗保存一个「绘图资讯结构」,这个结构包含了包围无效区域的最小矩形的座标以及其他资讯,这个矩形就叫做「无效矩形」,有时也称为「无效区域」。如果在视窗讯息处理程式处理WM_PAINT讯息之前显示区域中的另一个区域变为无效,则Windows计算出一个包围两个区域的新的无效区域(以及一个新的无效矩形),并将这种变化後的资讯放在绘制资讯结构中。Windows不会将多个WM_PAINT讯息都放在讯息伫列中。

视窗讯息处理程式可以通过呼叫InvalidateRect使显示区域内的矩形无效。如果讯息伫列中已经包含一个WM_PAINT讯息,Windows将计算出新的无效矩形。否则,它将一个新的WM_PAINT讯息放入讯息伫列中。在接收到WM_PAINT讯息时,视窗讯息处理程式可以取得无效矩形的座标(我们马上就会看到这一点)。通过呼叫GetUpdateRect,可以在任何时候取得这些座标。

在处理WM_PAINT讯息处理期间,视窗讯息处理程式在呼叫了BeginPaint之後,整个显示区域即变为有效。程式也可以通过呼叫ValidateRect函式使显示区域内的任意矩形区域变为有效。如果这呼叫具有令整个无效区域变为有效的效果,则目前伫列中的任何WM_PAINT讯息都将被删除。

GDI简介
 

要在视窗的显示区域绘图,可以使用Windows的图形装置介面(GDI)函式。Windows提供了几个GDI函式,用於将字串输出到视窗的显示区域内。我们已经在上一章看过DrawText函式,但是目前使用最为普遍的文字输出函式是TextOut。该函式的格式如下:

TextOut向视窗的显示区域写入字串。psText参数是指向字串的指标,iLength是字串的长度。x和y参数定义了字串在显示区域的开始位置(不久会讲述关於它们的详细情况)。hdc参数是「装置内

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/44/44
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇图形基础 下一篇视窗和讯息

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目