![]() | Programming Guide | WideStudio/MWT Index Table of contents |
访问对象
在事件过程中访问对象是最基本的功能。不同场合下使用的访问对象的方法如下所示。
- 通过向事件过程函数传递的参数访问对象
访问被粘贴在事件过程中的对象时使用该方法。- 通过对象管理访问对象
访问未被粘贴在事件过程中的对象时使用该方法。- 通过外部变量直接访问对象
访问未被粘贴在事件过程中的对象时使用该方法。 使用该方法将会降低事件过程的可移植性。通过向事件过程函数传递的参数访问对象
通过传递给事件过程函数的参数,可以访问被粘贴在事件过程中的对象。void event_procedure(WSCbase* object){ //访问对象 object->setProperty(WSNlabelString,"HELLO WORLD"); }object 是指向WSCbase类的指针。通过该指针可以调用WSCbase类的API。 如果需要使用WSCbase类的派生类的API,请参考获得类指针的相关内容。通过对象管理访问对象
通过对象管理可以获得所需的对象。与下文所描述通过外部变量访问对象的方法相比更灵活。获取对象的步骤如下所示。
对象管理类 获取实例函数 WSCbaseList WSCbaseList* WSGIappObjectList() #include通过指定类名称和对象名称参数,可以访问所需的obj 或 obj2 对象。 如果将类名称指定为"WSCbase",将检索所有对象。//通过WSGIappObjectList() 访问 ... void event_procedure(WSCbase* object){ //通过对象管理获得WSCbase型指针(其一) char* class_name = "WSCvlabel"; //指定检索目标类为标签类 char* obj_name = "newvlab_001"; //对象名称:newvlab_001 WSCbase* obj = WSGIappObjectList()->getInstance(class_name,obj_name); // 通过WSCbase*指针访问相应的标签对象 obj->setProperty(WSNlabelString,"HELLO WORLD"); //通过对象管理获得WSCbase型指针(其二) char* class_name2 = "WSCbase"; //不指定特定的检索目标类 char* obj_name2 = "newvlab_002"; //对象名称:newvlab_002 WSCbase* obj2 = WSGIappObjectList()->getInstance(class_name2,obj_name2); //通过WSCbase*指针访问相应的标签对象 obj2->setProperty(WSNlabelString,"HELLO WORLD"); } 通过外部变量直接访问对象
通过声明外部变量,可以实现通过外部变量直接访问对象。 关于外部变量的定义,请参考应用程序生成器用户手册的“外部变量对象”章节。#include//由于直接访问WSCvlabel类,加入相应的头文件。 ... void event_procedure(WSCbase* object){ //声明外部变量 extern WSCvlabel* newvlab_001; //访问WSCvlabel类的对象: newvlab_001 newvlab_001->setProperty(WSNlabelString,"HELLO WORLD"); }
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |