利用μC/GUI實現無紙記錄儀界面
c)當對話框關閉時,記載對話窗體消息回調函數的全局變量會被清為0,此時消息LOOP就會退出,對話框結束。
2.2回調函數
回調函數是由用戶定義的,當特定事件發生時,指示圖形系統調用特定函數的函數。通常當窗口的內容發生改變時,它們用來自動重繪窗門。例如,窗口內顯示一幅位圖,當窗口移動時,位圖并不會自動移動,此時,就需要調用回調函數對窗口進行重繪,即從觀眾的角度來看,移動窗口和窗口內容。
μC/GuI提供給窗口和窗口控件的回調機制的背后,是一個事件驅動標志。在大多數的窗口系統中,不僅從用戶程序到圖形系統,而且還要能夠從用戶程序到圖形系統,并且能夠通過用戶程序提供的回調函數,返回到用戶程序。這個機制稱為回調機制。在μC/GuI中,回調機制用來在窗口管理中控制窗口的重繪操作,這使得窗口管理的有效性成為可能。
使用回調函數建立一個窗口時,必須有一個回調函數。所用的回調函數必須有如下原型:void callback(wM-MESSAGE*pMsg)。其中pMsg為指向消息的指針。回調函數執行的功能依賴于所接收到的消息。以上原型后面一般跟著switch表達式,表達式定義不同的case表達式下不同的信息對應的不同行為,至少要有一個重繪函數:WM-PAINT()。在工程項目中所有功能都是通過上述消息機制以及回調函數來進行實現的。
3結束語
本文對μC/GUI的消息機制、回調函數作了簡單介紹。實現了鍵盤響應的無紙記錄儀界面,包括按鈕、列表框各種控件,見圖3。
圖3界面包含了無紙記錄儀中的所有控件,列表框可以實現上下選擇,編輯框可以實現輸入,按鈕可響應外界消息。通過鍵盤的左右鍵來實現各控件的切換,以便對某些控件進行操作控制。
評論