處理用戶事件
發(fā)布時間:2014/7/18 12:43:26 訪問次數(shù):500
到目前為止,我們IBM025171LG5B-70處理的都是用戶接口事件,即用戶的前面板動作產(chǎn)生的事件;用戶事件User Event是用程序編碼產(chǎn)生的事件,用戶事件可以在程序不同部分之間同步傳遞數(shù)據(jù)。同一個事件結(jié)構(gòu)中可以既處理用戶接口事件又處理用戶事件。用戶事件屬于通知器事件。處理用戶事件的方法和處理動態(tài)注冊的用戶接口事件的方法一樣。
圖2-21是使用用戶事件的例子。圖中“創(chuàng)建用戶事件”函數(shù)的“用戶事件數(shù)據(jù)類型”輸入?yún)?shù)連接了一個數(shù)組常數(shù),數(shù)組標(biāo)簽My Event定義了事件的名稱,數(shù)組本身定義了事件的數(shù)據(jù)類型為數(shù)組。這個參數(shù)也可以連接一個控件端口。“創(chuàng)建用戶事件”函數(shù)創(chuàng)建一個用戶事件,輸出的事件連接到“注冊事件”節(jié)點的事件源端口進行注冊,并傳遞給“產(chǎn)生用戶事件”函數(shù),用來在程序中產(chǎn)生這個事件!爱a(chǎn)生用戶事件”函數(shù)的“事件數(shù)據(jù)”參數(shù)
輸入的數(shù)據(jù)類型要和事件定義的數(shù)據(jù)類型一致。
注冊以后的事件要連接到事件結(jié)構(gòu)的動態(tài)數(shù)據(jù)輸入端口。
事件結(jié)構(gòu)設(shè)置了一個子框圖來處理名為My event的用戶事件,如圖2-21 (a)所示,
程序運行后事件緒構(gòu)就等待事件發(fā)生,波形圖沒有圖線顯示。與While循環(huán)并行的發(fā)生用戶事件函數(shù)等待它前面的While循環(huán)結(jié)束。
單擊“發(fā)生事件”按鈕,下面的While循環(huán)結(jié)束,My Event事件發(fā)生,事件結(jié)構(gòu)響應(yīng)這個事件,把一個正弦波顯示在波形圖中。
程序最后用兩個函數(shù)取消用戶事件注冊并銷毀用戶事件。
到目前為止,我們IBM025171LG5B-70處理的都是用戶接口事件,即用戶的前面板動作產(chǎn)生的事件;用戶事件User Event是用程序編碼產(chǎn)生的事件,用戶事件可以在程序不同部分之間同步傳遞數(shù)據(jù)。同一個事件結(jié)構(gòu)中可以既處理用戶接口事件又處理用戶事件。用戶事件屬于通知器事件。處理用戶事件的方法和處理動態(tài)注冊的用戶接口事件的方法一樣。
圖2-21是使用用戶事件的例子。圖中“創(chuàng)建用戶事件”函數(shù)的“用戶事件數(shù)據(jù)類型”輸入?yún)?shù)連接了一個數(shù)組常數(shù),數(shù)組標(biāo)簽My Event定義了事件的名稱,數(shù)組本身定義了事件的數(shù)據(jù)類型為數(shù)組。這個參數(shù)也可以連接一個控件端口!皠(chuàng)建用戶事件”函數(shù)創(chuàng)建一個用戶事件,輸出的事件連接到“注冊事件”節(jié)點的事件源端口進行注冊,并傳遞給“產(chǎn)生用戶事件”函數(shù),用來在程序中產(chǎn)生這個事件!爱a(chǎn)生用戶事件”函數(shù)的“事件數(shù)據(jù)”參數(shù)
輸入的數(shù)據(jù)類型要和事件定義的數(shù)據(jù)類型一致。
注冊以后的事件要連接到事件結(jié)構(gòu)的動態(tài)數(shù)據(jù)輸入端口。
事件結(jié)構(gòu)設(shè)置了一個子框圖來處理名為My event的用戶事件,如圖2-21 (a)所示,
程序運行后事件緒構(gòu)就等待事件發(fā)生,波形圖沒有圖線顯示。與While循環(huán)并行的發(fā)生用戶事件函數(shù)等待它前面的While循環(huán)結(jié)束。
單擊“發(fā)生事件”按鈕,下面的While循環(huán)結(jié)束,My Event事件發(fā)生,事件結(jié)構(gòu)響應(yīng)這個事件,把一個正弦波顯示在波形圖中。
程序最后用兩個函數(shù)取消用戶事件注冊并銷毀用戶事件。
上一篇:運行菜單控制