新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 事件結構----基本參數的含義.

        事件結構----基本參數的含義.

        作者: 時間:2017-01-09 來源:網絡 收藏
        前文提到了事件結構,仔細研究會發現要搞清楚也不是很容易.

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

        本文引用地址:http://www.104case.com/article/201701/337207.htm

        看看LABWIDNOWS的回調函數的形式,有助于更好地理解事件驅動的方法.

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

        int panel------------------系統通知我們哪個面板發生了事件

        int control----------------系統通知我們具體哪個控件發生了事件

        int event------------------系統通知我們發生的是那一類事件,鼠標,鍵盤等

        void *callbackData---------傳遞一個復雜的數據結構指針(LV中新增加的回凋函數功能用到了它)

        int eventData1,int eventData2---事件發生系統回傳的數據,不同的事件有不同的含義,一般對于鼠標操作,代表的是

                         X,Y坐標


        我們在看看Labview中的事件結構定義:

        前文提到了事件結構,仔細研究會發現要搞清楚也不是很容易.

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

        看看LABWIDNOWS的回調函數的形式,有助于更好地理解事件驅動的方法.

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

        int panel------------------系統通知我們哪個面板發生了事件

        int control----------------系統通知我們具體哪個控件發生了事件

        int event------------------系統通知我們發生的是那一類事件,鼠標,鍵盤等

        void *callbackData---------傳遞一個復雜的數據結構指針(LV中新增加的回凋函數功能用到了它)

        int eventData1,int eventData2---事件發生系統回傳的數據,不同的事件有不同的含義,一般對于鼠標操作,代表的是

                         X,Y坐標


        我們在看看Labview中的事件結構定義:

         

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

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


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

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

        TIME代表的時間是什么?經過實驗我們可以得出結論:

         




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

        LABVIEW支持的所有事件看下表




        關鍵詞: 事件結構基本參

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 曲靖市| 错那县| 怀来县| 兴文县| 汝州市| 嘉峪关市| 临夏县| 睢宁县| 蒲城县| 泰顺县| 台山市| 盐城市| 济宁市| 万宁市| 施甸县| 巍山| 屏东市| 唐山市| 依兰县| 勃利县| 义马市| 武宣县| 营山县| 远安县| 临安市| 阳泉市| 文山县| 梓潼县| 井冈山市| 陵川县| 瑞丽市| 诏安县| 托里县| 绩溪县| 贡嘎县| 伊通| 金坛市| 西峡县| 泸西县| 和硕县| 庆元县|