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