Powerbuilder 對於視窗形物件的控制比起 C/C++/C#/VB 等開發工具弱勢多了。 但是,Powerbuilder 提供了 Send 函數來彌補對視窗物件的一些細微控制。 其實,它是源自於 Windows 本身對於標準 Windows 物件的控制,它是使用了 Message ID 方式通知物件進形事件動作,而 Powerbuilder 只是順便利用了這個設計而已。 例如:ListView 為人詬病的就是缺了 Scroll 的控制,在資料量大時,一定會超過一個畫面的資料,會跑到畫面之外,此時你只能用滑鼠去 Scroll 或是用滑鼠操作 Scroll bar ,沒有辦法用 Programming 方式控制。 此時,就可以利用 Windows Message 方式發送控制資訊給 Windows物件 來控制: //捲動功能,可適用在ListView、DataWindow、MulitiLine Editor上 //上捲一行 Send(Handle(lv_mylist), 277, 0, 0) //上捲一頁 Send(Handle(lv_mylist), 277, 2, 0) //下捲一行 Send(Handle(lv_mylist), 277, 1, 0) //下捲一頁 Send(Handle(lv_mylist), 277, 3, 0) //像是下面兩種方式都可觸發按鈕Click事件 Send(Handle(Parent), 273, 0, Handle(cb_OK)) cb_OK.TriggerEvent(Clicked!) //最小化 DataWindo w Send(Handle(dw_whatever), 274, 61472, 0) //最大化 DataWindow Send(Handle(dw_whatever), 274, 61488, 0) //一般大小 DataWindow Send(Handle(dw_whatever), 274, 61728, 0)