PowerBuilder是一種面向對象的開發工具,除SystemFunctions類外,所有對象均由祖先類PowerObject繼承而 來。PowerObject有九種子類,窗口內所有控件均繼承自PowerObject/GraphicObject/WindowObject,該類派 生出兩種子類:DrawObject和DragObject。DrawObject類是畫圖對象,屬於該類的控件有:線段、橢圓、矩形和園角矩形,其餘控 件均屬於DragObject類。
由於DrawObject控件在應用程序中使用得比較少,因此,爲了簡化程序,本軟件僅對DragObject控件進行自動縮放。
- 實現原理
PowerBuilder的窗口對象有一個非常重要的屬性-control[]數組,存儲了窗口內放置的所有控件。通過這個數組,可以訪問各控 件的屬性。但窗口的control[]數組並不存儲放在Tab控件和UserObject控件內部的控件,它們存儲在Tab控件和UserObject控 件各自的control[]數組中。
在窗口的open事件中,通過其control[]數組,找出在窗口內放置的全部DragObject類控件(當遇到Tab控件和 UserObject控件時,繼續通過它們各自的control[]數組,找出其內部的全部DragObject類控件),保存所有找到的控件的原始x、 y、width和height屬性數據與當前窗口原始寬度和高度的比例值。當窗口大小調整時,在resize事件中,根據保存的各控件的比例值重置控件的 x、y、width和height屬性,從而實現控件隨窗口大小的變化自動按比例放大或縮小。
系統物件 - NonVisualObject 篇
概述
這個物件在 PowerBuilder 中並不可以直接運用,只是在定義使用者自訂物件時配合系統物件架構的物件。看看就好。
繼承階層
PowerObject
屬性 ( Property )
屬性名稱 資料型態 說明 ClassDefinition PowerObject 請參閱 PowerObject。
事件 ( Event )
事件名稱 說明 Constructor 當物件建構完成後,第一個執行的事件。 Destructor 當物件解構前,最後一個執行的事件。
函數 ( Function )
函數名稱 | 函數回傳資料型態 | 說明 |
ClassName | String | 請參閱 PowerObject。 |
GetContextService | Integer | 請參閱 PowerObject。 |
GetParent | PowerObject | 請參閱 PowerObject。 |
PostEvent | Boolean | 請參閱 PowerObject。 |
TriggerEvent | Integer | 請參閱 PowerObject。 |
TypeOf | Object | 請參閱 PowerObject。 |