WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
Table of contents


获取/设定对象的属性值

在事件过程中可以通过使用以下API访问对象的属性。

函数 功能
Mwt::WSCvariant getProperty() 获取属性值
Mwt::WSCvariant setProperty() 设定属性值



获取属性值

通过WSCbase类的成员函数getProperty()获取对象的属性值。

def event_procedure(object)

  # 获取"x" (X坐标)属性值的字符串表示 
  x = object.getProperty("x") 
  printf("x=%s\n",x.getCharPtr()) # 获得字符串

  # 获取"y" (Y坐标)属性值 
  y =  object.getProperty("y") 
  printf("y=%d\n",y.getLong()) # 获得 long 类型值

end

在获取"x"属性值的例子中,得到的属性值是字符串类型。在获取"y"属性值的例子中, 获得数值型属性值。由于函数getProperty()的返回值是WSCvariant 类型,可以获得 各种类型的值。

Mwt::WSCvariant 取值函数 功能
getChar() 获取 char 型值
getUnsignedChar() 获取 unsigned char 型值
getShort() 获取 short 型值
getUnsignedShort() 获取 unsigned short 型值
getLong() 获取 long 型
getUnsignedLong() 获取 unsigned long 型值
getInt() 获取 int 型值
getUnsignedInt() 获取 unsigned int 型值
getFloat() 获取 float 型值
getDouble() 获取 double 型值
getCharPtr() 获取 char* 型值



设定属性值

通过WSCbase类的成员函数setProperty()设定对象的属性值。

def event_procedure(object)

  # 通过字符串设定"x"(X坐标)属性值 
  x="100"
  object.setProperty("x",x) 

  # 设定"y"(Y坐标)属性值
  y=100 
  object.setProperty("y",y) 

end

在设定"x"属性值的例子中,通过字符串类型设定属性值。 而在设定"y"属性值的例子中,通过整数类型设定属性值。



根据属性值更新对象

通常,在事件过程执行完毕后立即更新对象。如果需要在修改属性值后 立即更新对象,通过调用update()、draw()和redraw()函数来实现。

在不同的窗口系统更新对象时,存在不能立即更新的情况(例如X11系统等)。 此时,请调用WSDappDev类的update()方法。

def event_procedure(WSCbase* object)

  obj1.getProperty("labelString","text") 
  obj1.update()  # 直接更新对象
  Mwt::WSGIappDev().update() # 向窗口系统提出更新要求
 
  obj2.getProperty("labelString","text") 
  obj2.update()  # 直接更新对象
  Mwt::WSGIappDev().update() # 向窗口系统提出更新要求
end


Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | Table of contents

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005