動態注冊用戶接口事件
發布時間:2014/7/9 18:15:10 訪問次數:583
處理動態注冊事件一般需要以下4個步驟:
(1)取得生成事件的那個對象的VI Server引用。
(2)連接VI Server引用到注冊事件節點進行對象的事件注冊。
(3)將事件結構放在一個While循環中處理事件。
(4)用取消事件注冊函數停止事件發生。
下面通過一個LabVIEW自帶的例子Dynamically Register for Events介紹以上的過程和一些事件函數的用法。SN74LS373DWR本書對這個例子稍微做一下修改,并重命名為“動態注冊事件”。
運行這個程序后,如果在前面板的撲克牌圖片上單擊,并按住鼠標左鍵,就可以拖動撲克牌移動,同時可以看到循環數在增加;在前面板其他位置無論鼠標怎樣移動,循環數都不變,說明程序在等待事件發生。要實現這種效果,顯然要對事件注冊隨時修改,即鼠標在撲克牌上按下時注冊一個事件,釋放時注冊另一個事件。
“當前VI路徑”函數為“打開VI引用”函數輸入“VI路
徑”參數。“打開VI引用”函數打開當前VI的引用。后面兩個屬性節點先返回當前VI前面板引用句柄,再通過這個引用句柄返回前面板控件引用句柄。
“注冊事件”節點的用法和屬性節點類似,這里設置了3個事件端口。“鼠標移動”事件連接了一個VI引用句柄常數。這個常數可以由前面板把VI引用句柄控件拖到程序框圖中產生。在這里只是定義一個事件類型,并沒有實際注冊事件。另外LabVIEW 8.2不再支持事件源為通用VI引用的鼠標移動這個事件,這里由于我們只想說明動態注冊事件,所以直接將例子復制過來,未做修改。“鼠標按下”和“鼠標釋放”事件連接了Picture控件引用句柄,所以注冊了兩個關于鼠標在撲克牌上動作的事件。除非是修改事件注珊,“事件注冊引用句柄”參數不必連接。
處理動態注冊事件一般需要以下4個步驟:
(1)取得生成事件的那個對象的VI Server引用。
(2)連接VI Server引用到注冊事件節點進行對象的事件注冊。
(3)將事件結構放在一個While循環中處理事件。
(4)用取消事件注冊函數停止事件發生。
下面通過一個LabVIEW自帶的例子Dynamically Register for Events介紹以上的過程和一些事件函數的用法。SN74LS373DWR本書對這個例子稍微做一下修改,并重命名為“動態注冊事件”。
運行這個程序后,如果在前面板的撲克牌圖片上單擊,并按住鼠標左鍵,就可以拖動撲克牌移動,同時可以看到循環數在增加;在前面板其他位置無論鼠標怎樣移動,循環數都不變,說明程序在等待事件發生。要實現這種效果,顯然要對事件注冊隨時修改,即鼠標在撲克牌上按下時注冊一個事件,釋放時注冊另一個事件。
“當前VI路徑”函數為“打開VI引用”函數輸入“VI路
徑”參數。“打開VI引用”函數打開當前VI的引用。后面兩個屬性節點先返回當前VI前面板引用句柄,再通過這個引用句柄返回前面板控件引用句柄。
“注冊事件”節點的用法和屬性節點類似,這里設置了3個事件端口。“鼠標移動”事件連接了一個VI引用句柄常數。這個常數可以由前面板把VI引用句柄控件拖到程序框圖中產生。在這里只是定義一個事件類型,并沒有實際注冊事件。另外LabVIEW 8.2不再支持事件源為通用VI引用的鼠標移動這個事件,這里由于我們只想說明動態注冊事件,所以直接將例子復制過來,未做修改。“鼠標按下”和“鼠標釋放”事件連接了Picture控件引用句柄,所以注冊了兩個關于鼠標在撲克牌上動作的事件。除非是修改事件注珊,“事件注冊引用句柄”參數不必連接。
上一篇:監測內存中所有的VI
上一篇:運行菜單控制