labview編程技巧-----xcontrol如何發(fā)送用戶事件
通過(guò)屬性可以控制XCONTROL的顯示狀態(tài),通過(guò)方法,可以要求XCONTROL執(zhí)行動(dòng)作(命令),有的時(shí)候,XCONTROL需要想調(diào)用VI發(fā)送數(shù)據(jù)或者命令,要求調(diào)用VI執(zhí)行動(dòng)作,如何實(shí)現(xiàn)這個(gè)目的,有幾種方法,全局變量,隊(duì)列,用戶事件,使用全局變量顯然是不合適的,我們用XCONTROL的目的是實(shí)現(xiàn)組件封裝,XCONTROL的運(yùn)行不應(yīng)該依賴于外部變量,使用隊(duì)列也有它的問(wèn)題,是我們不得不專門用一個(gè)循環(huán)來(lái)處理隊(duì)列,這對(duì)一個(gè)不太經(jīng)常發(fā)生的數(shù)據(jù)傳送 ,顯然是不經(jīng)濟(jì)的.
今天推薦一個(gè)方法,使用用戶事件.
關(guān)于用戶事件,我專門有一篇文章介紹.現(xiàn)在的LV編程,采用事件結(jié)構(gòu)越來(lái)越多,我們只需要簡(jiǎn)單地
先看看程序?qū)崿F(xiàn)的功能
按下SnapShot(捕捉)按鈕后,XCONTROL自動(dòng)通過(guò)用戶事件把捕捉到的圖象傳送到調(diào)用VI
要想調(diào)用VI響應(yīng)用戶事件,必須得到用戶事件參考,最好的辦法是通過(guò)XCONTROL的只讀屬性得到,這樣就需要在xcontrol的STATE中定義這個(gè)屬性,看一下它的狀態(tài)定義:
這個(gè)用戶事件的數(shù)據(jù)是一個(gè)圖片框,得到這個(gè)參考是需要技巧的,我演示一下方法:
另外一種常用的方法:
首先在XCONTROL的INIT中生成用戶事件
評(píng)論