新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 事件結(jié)構(gòu)----基本參數(shù)的含義.

事件結(jié)構(gòu)----基本參數(shù)的含義.

作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
前文提到了事件結(jié)構(gòu),仔細(xì)研究會發(fā)現(xiàn)要搞清楚也不是很容易.

labwindows是典型的事件驅(qū)動編程方式,它是通過定義回調(diào)函數(shù)實(shí)現(xiàn)的(回調(diào)函數(shù)是WINDOWS編程的基本方法),WINDOWS可以檢測到系統(tǒng)的各類事件,比如畫面上一個按鈕按下了,如果在DOS時(shí)代或者LV6.1以前,是需要用戶在程序中輪巡檢查的(POLLING MODE),這樣,我們的程序?qū)嶋H是兩部分,一是要檢查發(fā)生了什么,而是要決定如果發(fā)生了,我們要如何響應(yīng).通過事件驅(qū)動方式,發(fā)生什么的問題已經(jīng)由操作系統(tǒng)管理了,我們要做的只是如何響應(yīng)的問題,這樣就極大的減輕的我們的工作量.

本文引用地址:http://butianyuan.cn/article/201701/337207.htm

看看LABWIDNOWS的回調(diào)函數(shù)的形式,有助于更好地理解事件驅(qū)動的方法.

nt CVICALLBACKxxx(int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

int panel------------------系統(tǒng)通知我們哪個面板發(fā)生了事件

int control----------------系統(tǒng)通知我們具體哪個控件發(fā)生了事件

int event------------------系統(tǒng)通知我們發(fā)生的是那一類事件,鼠標(biāo),鍵盤等

void *callbackData---------傳遞一個復(fù)雜的數(shù)據(jù)結(jié)構(gòu)指針(LV中新增加的回凋函數(shù)功能用到了它)

int eventData1,int eventData2---事件發(fā)生系統(tǒng)回傳的數(shù)據(jù),不同的事件有不同的含義,一般對于鼠標(biāo)操作,代表的是

                ?。?,Y坐標(biāo)


我們在看看Labview中的事件結(jié)構(gòu)定義:

前文提到了事件結(jié)構(gòu),仔細(xì)研究會發(fā)現(xiàn)要搞清楚也不是很容易.

labwindows是典型的事件驅(qū)動編程方式,它是通過定義回調(diào)函數(shù)實(shí)現(xiàn)的(回調(diào)函數(shù)是WINDOWS編程的基本方法),WINDOWS可以檢測到系統(tǒng)的各類事件,比如畫面上一個按鈕按下了,如果在DOS時(shí)代或者LV6.1以前,是需要用戶在程序中輪巡檢查的(POLLING MODE),這樣,我們的程序?qū)嶋H是兩部分,一是要檢查發(fā)生了什么,而是要決定如果發(fā)生了,我們要如何響應(yīng).通過事件驅(qū)動方式,發(fā)生什么的問題已經(jīng)由操作系統(tǒng)管理了,我們要做的只是如何響應(yīng)的問題,這樣就極大的減輕的我們的工作量.

看看LABWIDNOWS的回調(diào)函數(shù)的形式,有助于更好地理解事件驅(qū)動的方法.

nt CVICALLBACKxxx(int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

int panel------------------系統(tǒng)通知我們哪個面板發(fā)生了事件

int control----------------系統(tǒng)通知我們具體哪個控件發(fā)生了事件

int event------------------系統(tǒng)通知我們發(fā)生的是那一類事件,鼠標(biāo),鍵盤等

void *callbackData---------傳遞一個復(fù)雜的數(shù)據(jù)結(jié)構(gòu)指針(LV中新增加的回凋函數(shù)功能用到了它)

int eventData1,int eventData2---事件發(fā)生系統(tǒng)回傳的數(shù)據(jù),不同的事件有不同的含義,一般對于鼠標(biāo)操作,代表的是

                ?。?,Y坐標(biāo)


我們在看看Labview中的事件結(jié)構(gòu)定義:

 

對比之下,可以看出,少了一個PANEL,所以LABVIEW的事件結(jié)構(gòu)是屬于一個面板的,那返回PANEL就沒有意義了.

多了一個SOURCE和TIME,它們到底是代表什么那?


這是SOURCE定義的內(nèi)容:LABVIEW把事件共分成四個類別,LABVIEW UI(用戶接口界面),Activex,user event 和other

前文提到了USER EVENT,我們大部分響應(yīng)的是LABVIEW用戶接口界面的事件.

TIME代表的時(shí)間是什么?經(jīng)過實(shí)驗(yàn)我們可以得出結(jié)論:

 




GetTickCount() 返回開機(jī)以來經(jīng)過的毫秒數(shù),這就是EVENT STRUCTURE中TIME的含義.

LABVIEW支持的所有事件看下表




評論


技術(shù)專區(qū)

關(guān)閉