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


获取/设定对象的属性值

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

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



获取属性值

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

let event_procedure obj =

  (* 获取"x" (X坐标)属性值的字符串表示  *)
  let x = obj -> getProperty ("x")
  in print_string( get_string x);   (* 获得字符串       *)
  print_newline();

  (* 获取"y" (Y坐标)属性值  *)
  let y = obj -> getProperty ("y")
  in print_int(get_int y);          (* 获得 long 类型值 *)
  print_newline();

  ()
let _ = Callback.register "event_procedure" event_procedure

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

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()设定对象的属性值。

let event_procedure obj =

  (* 通过字符串设定"x"(X坐标)属性值  *)
  let x = "100"
  in obj -> setProperty ("x", (make_string x) );

  (* 设定"y"(Y坐标)属性值            *)
  let y = "100"
  in obj -> setProperty ("y", (make_int y) );

  ()
let _ = Callback.register "event_procedure" event_procedure

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



根据属性值更新对象

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

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

let event_procedure obj =
  !obj1 -> setProperty ("labelString", "string1"); 
  !obj1 -> update()                            (* 直接更新对象           *)
  _WSGIappDev'() -> "update" ();               (* 向窗口系统提出更新要求 *)
  
  !obj2 -> setProperty ("labelString", "string2"); 
  !obj2 -> update()                            (* 直接更新对象           *)
  _WSGIappDev'() -> update ();                 (* 向窗口系统提出更新要求 *)
  
  ()
let _ = Callback.register "event_procedure" event_procedure


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