openuserobject

UserObject()函式在打開用戶對象的同時,也將把該用戶對象的引用添加到視窗的Con UserObject()函式與打開視窗的Open UserObject()函式在打開用戶對象的同時,也將把該用戶對象的引用添加到視窗的Con

功能

打開用戶對象並在指定位置顯示用戶對象,之後代碼中就可以使用該用戶對象的屬性、函式以及事件了。與其它Open類函式相似,OpenUserObject()也有兩種語法格式:語法一、打開設計程式時已知數據類型的用戶對象;語法二、打開程式設計時未知類型或需要動態更換的用戶對象。下面分別予以介紹。語法一、打開設計程式時已知數據類型的用戶對象,語法windowname.OpenUserObject ( userobjectvar {, x, y } )參數windowname:要在其上顯示用戶對象的視窗的名稱userobjectvar:要顯示的用戶對象的名稱。可以指定用戶對象畫筆中定義的用戶對象名,也可以是指定用戶對象的變數名,OpenUserObject()函式將打開的用戶對象的引用放置在該參數中。x:可選項,指定用戶對象左上角在視窗上的X顯示位置,以PBU為單位。預設值為0y:可選項,指定用戶對象左上角在視窗上的Y顯示位置,以PBU為單位。預設值為0返回值Integer。函式執行成功時返回1,發生錯誤時函式返回-1。如果任何參數的值為NULL,則OpenUserObject()函式返回NULL。用法在應用程式訪問用戶對象的屬性之前,必須首先打開用戶對象,否則將引發應用程式運行錯誤。但是,如果在定義視窗時已經把用戶對象放置在視窗上,那么這樣的用戶對象就不需要再在代碼中打開了,PowerBuilder在打開視窗的同時會自動打開所有已經放置在視窗上的用戶對象。OpenUserObject()函式在打開用戶對象的同時,也將把該用戶對象的引用添加到視窗的Control屬性數組中。使用OpenUserObject()函式打開用戶對象後,在關閉放置該對象的視窗時,PowerBuilder並不會自動刪除該用戶對象,它依然占用著系統資源。應用程式需要調用CloseUserObject()函式來刪除用戶對象,釋放用戶對象占用的資源。OpenUserObject()函式創建用戶對象後,系統在更新顯示或執行該函式的代碼段運行完畢時顯示用戶對象,比如,如果應用程式在某個事件處理程式中打開了幾個用戶對象,那么這些用戶對象將在該事件處理程式執行完畢後同時顯示在螢幕上,如果想每創建一個用戶對象就在視窗中顯示一個用戶對象,那么可以這樣做:在每條OpenUserObject()函式之後,執行一個更新視窗或視窗上可視控制項外觀屬性的語句,比如修改視窗的標題等。OpenUserObject()函式與打開視窗的Open()函式十分相似:當應用程式重複執行語法一的OpenUserObject()函式多次時,它只打開一個用戶對象實例,而激活用戶對象多次,但不是打開多個用戶對象實例。示例1. 下面的代碼在視窗w_test的(100, 500)位置打開並顯示可視用戶對象uo_test,uo_test在用戶對象畫筆中定義並保存在套用庫中:w_test.OpenUserObject ( uo_test , 100, 500 )語法二、打開程式設計時未知類型或需要動態更換的用戶對象.語法windowname.OpenUserObject ( userobjectvar, userobjecttype {, x, y } )參數windowname:要在其上顯示用戶對象的視窗的名稱userobjectvar:DragObject類型的變數,OpenUserObject()函式將打開的用戶對象的引用放置在該參數中userobjecttype:string類型,其值為要顯示用戶對象的名稱,該對象必須是userobjectvar對象的子孫對象x:可選項,指定用戶對象左上角在視窗上的X顯示位置,以PBU為單位。預設值為0y:可選項,指定用戶對象左上角在視窗上的Y顯示位置,以PBU為單位。預設值為0返回值Integer。函式執行成功時返回1,發生錯誤時函式返回-1。如果任何參數的值為NULL,則OpenUserObject()函式返回NULL。用法在應用程式訪問用戶對象的屬性之前,必須首先打開用戶對象,否則將引發應用程式運行錯誤。但是,如果在定義視窗時已經把用戶對象放置在視窗上,那么這樣的用戶對象就不需要再在代碼中打開了,PowerBuilder在打開視窗的同時會自動打開所有已經放置在視窗上的用戶對象。OpenUserObject()函式在打開用戶對象的同時,也將把該用戶對象的引用添加到視窗的Control屬性數組中。使用OpenUserObject()函式打開用戶對象後,在關閉放置該對象的視窗時,PowerBuilder並不會自動刪除該用戶對象,它依然占用著系統資源。應用程式需要調用CloseUserObject()函式來刪除用戶對象,釋放用戶對象占用的資源。OpenUserObject()函式創建用戶對象後,系統在更新顯示或執行該函式的代碼段運行完畢時顯示用戶對象,比如,如果應用程式在某個事件處理程式中打開了幾個用戶對象,那么這些用戶對象將在該事件處理程式執行完畢後同時顯示在螢幕上,如果想每創建一個用戶對象就在視窗中顯示一個用戶對象,那么可以這樣做:在每條OpenUserObject()函式之後,執行一個更新視窗或視窗上可視控制項外觀屬性的語句,比如更改視窗的標題等。當應用程式執行語法二格式的OpenUserObject()函式時,PowerBuilder打開由參數userobjecttype指定類型的用戶對象,並將對該對象實例的引用放置在參數userobjectvar中,應用程式可通過變數userobjectvar在代碼中操作打開的用戶對象。userobjecttype參數指定的用戶對象並不會自動包含到你的執行檔中。要想在應用程式中包含該對象,必須把它保存在PBD檔案(PowerBuilder動態程式庫)中,並與你的應用程式一起發行該動態程式庫。示例1. 下面的代碼在視窗w_test的(100, 500)位置打開並顯示可視用戶對象uo_test,uo_test在用戶對象畫筆中定義並保存在套用庫中,iuo_test是uo_test類型的實例變數:w_test.OpenUserObject ( iuo_test,"uo_test", 100, 500 )

相關詞條

相關搜尋

熱門詞條

聯絡我們