下載手機(jī)汽配人

事件驅(qū)動(dòng)是怎么回事?

事件驅(qū)動(dòng)是怎么回事?
提問者:網(wǎng)友 2017-11-19
最佳回答
所謂事件驅(qū)動(dòng),簡單地說就是你點(diǎn)什么按鈕(即產(chǎn)生什么事件),電腦執(zhí)行什么操作(即調(diào)用什么函數(shù)).當(dāng)然事件不僅限于用戶的操作. weWidgets的中所有可以處理事件的類都繼承自wxEvtHandler,其中包含frames, buttons, menus, even documents,所有的窗體類(即從wxWindow繼承的類)和程序類(application class). 這些類可以有一個(gè)事件表,用來綁定事件和被調(diào)用的函數(shù)(handler functions). 過程 3.2. 建立一個(gè)靜態(tài)事件表(即編譯時(shí)生成的事件表)的操作步驟建立一個(gè)新類(直接或間接從wxEvtHandler繼承)為每個(gè)要處理的事件聲明被調(diào)用的函數(shù)在被處理的事件所在的類的聲明中加入宏DECLARE_EVENT_TABLE在宏BEGIN_EVENT_TABLE... END_EVENT_TABLE(就是事件表)中將函數(shù)與枚舉的數(shù)字綁定(因?yàn)楫a(chǎn)生該類型的事件的按鈕不唯一,要用枚舉數(shù)來區(qū)分);有些事件不必與枚舉數(shù)綁定,因?yàn)楫a(chǎn)生該類型的事件的對象可以確定(比如就是this). 例 3.1. 一個(gè)事件表BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU (wxID_ABOUT, MyFrame::OnAbout) EVT_MENU (wxID_EXIT, MyFrame::OnQuit) EVT_SIZE ( MyFrame::OnSize) //不必與枚舉數(shù)綁定,因?yàn)楫a(chǎn)生該類型的事件的對象是this EVT_BUTTON (wxID_OK, MyFrame::OnButtonOK)END_EVENT_TABLE()在事件中指定被綁定的數(shù)字,wxWidgets會(huì)將其映射到對應(yīng)的函數(shù),并調(diào)用函數(shù)所有在事件表中被綁定的函數(shù)有相似的形式:返回值都是void,不是virtual函數(shù),參數(shù)為wxCommandEvent類型
回答者:網(wǎng)友
產(chǎn)品精選
在移動(dòng)端查看: 事件驅(qū)動(dòng)是怎么回事?
搜索問答
還沒有汽配人賬號(hào)?立即注冊

我要提問

汽配限時(shí)折扣

本頁是網(wǎng)友提供的關(guān)于“事件驅(qū)動(dòng)是怎么回事?”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。