设为首页 加入收藏

TOP

输出文字(七)
2010-12-30 21:10:02 】 浏览:37213
Tags:输出 文字
aint的传回值也曾是这个装置内容代号。在大多数情况下, fErase被标志为FALSE(0),这意味著Windows已经擦除了无效矩形的背景。这最早在BeginPaint函式中发生(如果要在视窗讯息处理程式中自己定义一些背景擦除行为,可以自行处理WM_ERASEBKGND讯息)。Windows使用WNDCLASS结构的hbrBackground栏位指定的画刷来擦除背景,这个WNDCLASS结构是程式在WinMain初始化期间登录视窗类别时使用的。许多Windows程式使用白色画刷。以下叙述设定视窗类别结构栏位值:

不过,如果程式通过呼叫Windows函式InvalidateRect使显示区域中的矩形失效,则该函式的最後一个参数会指定是否擦除背景。如果这个参数为FALSE(即0),则Windows将不会擦除背景,并且在呼叫完BeginPaint後PAINTSTRUCT结构的fErase栏位将为TRUE(非零)。

PAINTSTRUCT结构的rcPaint栏位是RECT型态的结构。您已经在第三章中看到,RECT结构定义了一个矩形,其四个栏位为left、top、right和bottom。PAINTSTRUCT结构的rcPaint栏位定义了无效矩形的边界,如图4-1所示。这些值均以图素为单位,并相对於显示区域的左上角。无效矩形是应该重画的区域。


 

图4-1 无效矩形的边界

PAINTSTRUCT中的rcPaint矩形不仅是无效矩形,它还是一个「剪取」矩形。这意味著Windows将绘图操作限制在剪取矩形内(更确切地说,如果无效矩形区域不为矩形,则Windows将绘图操作限制在这个区域内)。

在处理WM_PAINT讯息时,为了在更新的矩形外绘图,可以使用如下呼叫:

该呼叫在BeginPaint呼叫之前进行,它使整个显示区域变为无效,并擦除背景。但是,如果最後一个参数等於FALSE,则

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

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目