labview編程技巧-----xcontrol如何發送用戶事件
通過屬性可以控制XCONTROL的顯示狀態,通過方法,可以要求XCONTROL執行動作(命令),有的時候,XCONTROL需要想調用VI發送數據或者命令,要求調用VI執行動作,如何實現這個目的,有幾種方法,全局變量,隊列,用戶事件,使用全局變量顯然是不合適的,我們用XCONTROL的目的是實現組件封裝,XCONTROL的運行不應該依賴于外部變量,使用隊列也有它的問題,是我們不得不專門用一個循環來處理隊列,這對一個不太經常發生的數據傳送 ,顯然是不經濟的.
今天推薦一個方法,使用用戶事件.
關于用戶事件,我專門有一篇文章介紹.現在的LV編程,采用事件結構越來越多,我們只需要簡單地
先看看程序實現的功能

按下SnapShot(捕捉)按鈕后,XCONTROL自動通過用戶事件把捕捉到的圖象傳送到調用VI

要想調用VI響應用戶事件,必須得到用戶事件參考,最好的辦法是通過XCONTROL的只讀屬性得到,這樣就需要在xcontrol的STATE中定義這個屬性,看一下它的狀態定義:

這個用戶事件的數據是一個圖片框,得到這個參考是需要技巧的,我演示一下方法:

另外一種常用的方法:

首先在XCONTROL的INIT中生成用戶事件
評論