设为首页 加入收藏

TOP

17.6.5 绘制函数
2013-10-07 01:04:37 来源: 作者: 【 】 浏览:63
Tags:17.6.5 绘制 函数

17.6.5  绘制函数

下面列出从CCoeControl类定义中抽取出的与绘制相关的函数。

  
  

必须用ActivateL()激活控件,以此作为它的第二阶段构造的最后部分。假定到调用ActivateL()的时候,已指定控件的范围,并且已经完全初始化了它的模型,该调用让控件已做好绘图的准备。可以使用IsActivated()来测试是否已经调用ActivateL()。

MakeVisible()设置控件为可见或不可见;对于不可见控件不调用 Draw()。如果控件既是激活的又是可见的,则 IsReadyToDraw()返回 ETrue。SetBlank()是一个模糊的函数,它只影响没有重写 Draw()函数的控件。如果没有调用 SetBlank(),那么 CCoeControl::Draw()什么都不做。如果确实调用了SetBlank(),那么CCoeControl::Draw()将控件绘成空白。

我们已经知道,Draw()是一个基本的绘制函数。DrawNow()启动正确的绘制序列来绘制控件和它的所有组件。DrawDeferred()只是使控件的范围无效,这样窗口服务器将发送一条重绘消息,它保证将尽早调用对控件的重绘,而不是强迫它立即进行。

在组件控件中适当地递归使用 ActivateL()、MakeVisible()和 DrawNow()。SystemGc()返回用于绘制的窗口化图形上下文。ActivateGc()、ResetGc()和 DeactivateGc()扮演重绘所需要的图形上下文准备函数的角色。始终使用这些函数,而不是直接调用 SystemGc.Activate(Window())。这更加方便,而且它允许恰当支持控件上下文。

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

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇17.7.5 透明窗口 下一篇17.6.3 组件控件

评论

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