设为首页 加入收藏

TOP

17.3 绘制和重绘
2013-10-07 01:04:04 来源: 作者: 【 】 浏览:62
Tags:17.3 绘制

17.3  绘制和重绘

在GUI程序中,所有的绘制都在控件上完成,它们构成了全部或部分屏幕窗口,如同我们在CHelloWorldAppView::Draw()中所看到的:

当需要绘图时,调用派生控件类的Draw()函数;

Draw()使用SystemGc()来得到图形上下文;

它在Rect()函数定义的区域内绘图。 但实际稍稍复杂一些。控件不仅必须绘制它的内容,而且在它发生变化或系统要求重绘(redraw)时,必须进行重绘。当首次构造窗口时,或者窗口在被某些其他应用程序或对话框遮蔽后,重新显示整体或一部分时,系统发起的重绘会发生。

当应用程序改变了控件的内容,或者改变了绘制参数(比如颜色、滚动或缩放状态),并要在更新的显示中显示这些改变时,应用程序发起的重绘会发生。

另外,还有其他各种情况(部分是系统发起的,部分是应用程序发起的),都必须进行重绘。举例来说,关闭对话框是应用程序发起的,而对该对话框下面的控件的重绘是应系统发出的请求而进行的,而它的内容可能根据用户到对话框的输入改变。

为了真正地理解重绘,我们必须首先回顾模型-视图-控制器范例。这是探讨GUI系统的好办法,而且使用此概念,更容易进行下面的讨论。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇17.1.2 获取图形上下文 下一篇17.2.2 区域相关类

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: