![]() | Programming Guide | WideStudio/MWT Index Table of contents |
控制对象绘图
使用以下成员函数,执行对象的绘图控制。
控制显示的成员函数 功能 mwt::WSCbase_setAbsoluteDraw(Boolean) 设置是否强制绘图 mwt::WSCbase_draw() 绘图 mwt::WSCbase_redraw() 重新绘图 mwt::WSCbase_cdraw() 递归重新绘图 mwt::WSCbase_clear() 清除 mwt::WSCbase_update() 如果属性发生变更,更新绘图 对象的更新绘图
通常,当对象的属性发生变更,或者事件过程运行之后,需要更新绘图。用户也可以强制进行绘图更新。use mwt; sub event_procedure { my ($object) = @_; # 属性发生变更 $object->setProperty("labelString","操作设置"); # 更新 $object->update(); return; } 1;仅在对象属性发生变更等需要执行更新处理的时候,执行update函数。对象的重新绘图
在出现以下情况时,需要让对象重新绘图。
- 清除绘图(触发事件)
通常,使用redraw()清除绘图后,通过触发EXPOSE事件实现对象重新绘图。 如果对象中存在多个子对象,这些子对象也执行重新绘图。因此,在包含 大量对象的应用程序窗口中,通过redraw()重新绘图的性能不高。$object->redraw();- 绘图(更新)
使用draw()前设置强制绘图标志,可以在不触发EXPOSE事件的情况下, 强制对象重新绘图。具体步骤如下所示。$object->setAbsoluteDraw($mwt::True); $object->draw();- 绘图(部分更新)
通常,在不设置强制绘图标志的情况下使用draw()。 此时,只对需要更新绘图的部分进行绘图,使得性能得以提高。$object->draw();- 清除绘图(不触发事件)
通过clear()和draw()可以不触发EXPOSE事件实现对象重新绘图。 如果对象中存在多个子对象,这些子对象不会执行重新绘图。通过 清除绘图(触发事件)模式实现这些子对象的重新绘图。$object->clear(); $object->setAbsoluteDraw($mwt::True); $object->draw();
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |