五、窗口屬性
為了在工程的運行過程中能夠方便靈活的改變用戶窗口的屬性和狀态,設置了用戶窗口的屬性,以備用戶在實際組态過程中設置使用,如圖7.5-1。這樣在腳本程序中,使用操作符“.”,可以在腳本程序或使用表達式的地方,調用用戶窗口對象相應的屬性。例如:用戶窗口.窗口0.Name可以取得窗口0的名字。
圖7.5-1 用戶窗口屬性
用戶窗口屬性說明:
Name
屬性意義: 窗口的名字
屬性類型: 字符串
實 例: ret = 用戶窗口.窗口1.Name ,ret = “窗口1”的Name屬性值
Left
函數說明: 此函數在G系列産品中無效,考慮兼容性問題,故保留
Top
函數說明: 此函數在G系列産品中無效,考慮兼容性問題,故保留
Width
函數說明: 此函數在G系列産品中無效,考慮兼容性問題,故保留
Height
函數說明: 此函數在G系列産品中無效,考慮兼容性問題,故保留
Visible
屬性意義: 窗口的可見度
屬性類型: 整數0,不可見1,可見
實 例: 用戶窗口.窗口1.Visible = 1 ,設置“窗口1”的Visible屬性值為1,即為可見ret = 用戶窗口.窗口1.Visible,ret = “窗口1”的Visible屬性值
注意事項: 在子窗口中無效
Caption
函數說明: 此函數在G系列産品中無效,考慮兼容性問題,故保留
六、窗口方法
為了在工程的運行過程中能夠方便靈活的改變用戶窗口的屬性和狀态,設置了用戶窗口的方法,以備用戶在實際組态過程中設置使用,如圖7.6-1。這樣在腳本程序中,使用操作符“.”,可以在腳本程序或使用表達式的地方,調用用戶窗口對象相應的方法。例如:用戶窗口.窗口0.OpenSubWnd則可以打開用戶窗口0的子窗口。
圖7.6-1 用戶窗口方法
用戶窗口方法說明:
Open()
方法作用: 打開窗口
返 回 值: 整數= 0,操作成功<>0,操作失敗
實 例: 用戶窗口.窗口1.Open(),打開窗口名為“窗口1”的窗口
Close()
方法作用: 關閉窗口
返 回 值: 整數= 0,操作成功<>0,操作失敗
實 例: 用戶窗口.窗口1.Close(),關閉窗口名為“窗口1”的窗口
Hide()
方法作用: 隐藏窗口
返 回 值: 整數= 0,操作成功<>0,操作失敗
實 例: 用戶窗口.窗口1.Hide(),隐藏窗口名為“窗口1”的窗口
Print()
方法作用: 打印當前窗口
返 回 值: 整數= 0,操作成功<>0,操作失敗
注意事項: 此函數功能未實現
Refresh()
方法作用: 刷新當前窗口
返 回 值: 整數= 0,操作成功<>0,操作失敗
實 例: 用戶窗口.窗口1.Refresh(),刷新窗口名為“窗口1”的窗口
BringToTop()
函數說明:此函數在McgsPro系列産品中無效,考慮兼容性問題,故保留
OpenSubWnd(參數1, 參數2, 參數3, 參數4, 參數5, 參數6)
函數意義: 顯示子窗口
返 回 值: 字符串,恒等于“”
參 數 值:參數1,用戶窗口名參數2,浮點數,打開子窗口相對于本窗口的X坐标iLeft參數3,浮點數,打開子窗口相對于本窗口的Y坐标iTop參數4,浮點數,打開子窗口的寬度iWidth參數5,浮點數,打開子窗口的高度iHeight參數6,浮點數,打開子窗口的類型
0位:是否模态模式打開,使用此功能,須通過調用CloseSubWnd或CloseAllSubWnd來關閉此子窗口,子窗口外的構件對鼠标操作不響應
1位:是否菜單模式打開,使用此功能,一旦在子窗口之外鼠标按下,則子窗口關閉
2位:是否顯示水平滾動條,使用此功能,可以顯示水平滾動條(不支持)
3位:是否垂直顯示滾動條,使用此功能,可以顯示垂直滾動條(不支持)
4位:是否顯示邊框,選擇此功能,在子窗口周圍顯示細黑線邊框
5位:是否自動跟蹤顯示子窗口,選擇此功能,在當前鼠标位置上顯示子窗口。選用此功能則忽略iLeft,iTop的值。如果鼠标在系統窗口内部且當前鼠标位置下無法完整的顯示子窗口,則子窗口會自動調整位置使其顯示完整。同理當鼠标在系統窗口外部時,子窗口也會自動調整位置顯示在窗口内部并顯示完整
6位:是否自動調整子窗口的寬度和高度為缺省值,使用此功能則忽略iWidth和iHeight的值
實 例:(1)!OpenSubWnd(窗口1,0,0,400,240,1)在位置(0,0)打開大小為400*200,子窗口名為“窗口1”的模态子窗口(2)!OpenSubWnd(窗口1,0,0,400,240,2)在位置(0,0)打開大小為400*200,子窗口名為“窗口1”的菜單子窗口(3)!OpenSubWnd(窗口1,0,0,400,240,34)在位置(0,0)打開大小為400*200,子窗口名為“窗口1”的菜單子窗口,并自動跟随鼠标顯示
注意事項:(1)子窗口打開方式既不是模态模式也不是菜單模式時,鼠标在子窗口外按下不會關閉子窗口且窗口外的構件會響應鼠标操作(2)當多個子窗口被打開,且最後一個打開的子窗口為模态模式時,則該子窗口外所有鼠标操作不響應(3)當多個子窗口被打開,即使這些子窗口中存在模态模式打開的子窗口,但隻要最後一個打開的子窗口為菜單模式,則該子窗口内部和外部都會響應鼠标操作(4)子窗口的關閉:當前标準窗口關閉則所有子窗口全部關閉使用CloseSubWnd,參數為子窗口名,隻關閉當前标準窗口下所有窗口名為該子窗口名的子窗口使用CloseAllSubWnd,關閉當前标準窗口下的所有子窗口
CloseSubWnd(參數1)
方法作用: 關閉子窗口
返 回 值: 整數= 0,操作成功<>0,操作失敗
參 數 值: 參數1,子窗口的名字
實 例: 用戶窗口.窗口1.CloseSubWnd(窗口2),關閉窗口名為“窗口2”的子窗口
CloseAllSubWnd()
方法作用: 關閉當前标準窗口中的所有子窗口
返 回 值: 整數= 0,操作成功<>0,操作失敗
實 例: 用戶窗口.窗口1.CloseAllSubWnd(),關閉當前标準窗口的所有子窗口
七、窗口事件
在G系列産品中,用戶窗口支持事件的概念。所謂事件,就是當用戶在窗口中進行某些操作時,用戶窗口會根據用戶不同的操作進行相應的處理。例如當用戶在窗口中用鼠标單擊窗口時,就會觸發用戶窗口的Click事件,同時執行在Click事件中定義的一系列操作。
G系列産品用戶窗口包括如下的一些事件:
Click
描 述: 當鼠标單擊時觸發
MouseDown
描 述: 鼠标按下時觸發
參 數1: 鼠标按下時的鼠标按鍵信息,為1時,表示左鍵按下,為2時,表示右鍵按下,為4時,表示中鍵按下
參 數2: 鼠标按下時的鍵盤信息,為1時,表示Shift鍵按下,為2時,表示Control鍵按下,為4時,表示ALT鍵按下。
參 數3: 鼠标按下時的X坐标
參 數4: 鼠标按下時的Y坐标
MouseMove
描 述: 鼠标移動時觸發
參 數1: 鼠标移動時的鼠标按鍵信息,為1時,表示左鍵按下,為2時,表示右鍵按下,為4時,表示中鍵按下。
參 數2: 鼠标移動時的鍵盤信息,為1時,表示Shift鍵按下,為2時,表示Control鍵按下,為4時,表示ALT鍵按下。
參 數3: 鼠标的X坐标
參 數4: 鼠标的Y坐标
MouseUp
描 述: 鼠标擡起時觸發
參 數1: 鼠标擡起時的鼠标按鍵信息,為1時,表示左鍵按下,為2時,表示右鍵按下,為4時,表示中鍵按下。
參 數2: 鼠标擡起時的鍵盤信息,為1時,表示Shift鍵按下,為2時,表示Control鍵按下,為4時,表示ALT鍵按下。
參 數3: 鼠标擡起時的X坐标
參 數4: 鼠标擡起時的Y坐标
KeyDown
描 述: 按下按鍵時觸發
參 數1: 整數,按下按鍵的ASCII碼
參 數2: 整數,0~7位是按鍵的掃描碼,目前按鍵的掃描碼恒為0。
KeyUp
描 述: 按鍵擡起時觸發
參 數1: 整數,按下按鍵的ASCII碼
參 數2: 整數,0~7位是按鍵的掃描碼,目前按鍵的掃描碼恒為0。
Load
描 述: 窗口裝載時觸發
Unload
描 述: 窗口關閉時觸發
事件應用
我們以在用戶窗口中單擊鼠标左鍵打開子窗口這個實例,說明用戶窗口事件的應用。在用戶窗口中打開編輯下拉菜單選中事件菜單,或者在用戶窗口單擊鼠标右鍵彈出右鍵菜單選中事件,就會彈出事件組态對話框。如圖7.7-1:
圖7.7-1 事件組态對話框
如果選中Click事件,就會在Click對應的行右邊出現
标簽,鼠标左鍵單擊
标簽,會彈出如圖7.7-2的對話框。
圖7.7-2 事件參數連接
圖7.7-3 腳本編輯
單擊事件連接腳本彈出如圖7.7-3所示的腳本程序編輯框,可以直接在編輯框内輸入!OpenSubWnd(子窗口,150,200,100,100,0),或者打開右邊用戶窗口,選中要加入子窗口的用戶窗口,打開方法,選中OpenSubWnd()方法雙擊。這樣在工程運行時在選中的用戶窗口内,單擊鼠标左鍵時就會彈出如下圖所示的子窗口。關于窗口方法OpenSubWnd()用法請參閱前面用戶窗口屬性方法一節。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!