【正文】
hook( EventHandle onEventHandle ) { (onEventHandle)。 int y = 200。 it != ()。onEventHandle = *it。 } } }。 CMyView() { (bind ( amp。 } void onEventHandle(int x,int y ) { coutx yendl。 int _tmain(int argc, _TCHAR* argv[]) { CMyView m。 return 0。 } /script input id=Text1 type=text value=a input id=Text2 type=text p/p input id=Button1 type=button value=click me onclick=test() /body /html 上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院 雷電 覆蓋事件方法 ? 你的類從基類中派生而來,且基類中中已有事件處理函數(shù),針對(duì)不同的處理,可通過 覆蓋 這些事件方法來設(shè)計(jì)你所希望的對(duì)應(yīng)事件處理。 上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院 雷電 Windows 消息處理 消息泵 WndProc地址 PostMessage() SendMessage() 消息 n+1 消息 n+2 消息 n+3 窗口對(duì)象 非 M F C窗口用簡(jiǎn)單的 c a s e語句來編程 WndPro(每個(gè) c a s e語句執(zhí)行一些函數(shù),或調(diào)用其他一些函數(shù)。 上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院 雷電 C W i n A p p C M y W i n A p pC M y V i e wC V i e wC F r a m e W n dC M y F r a m e W n dC W n dC D o c u m e n t C M y D o c u m e n tC C m d T a r g e t總消息映射表C W i n T h r e a d?局 部 映 射 表局 部 映 射 表局 部 映 射 表局 部 映 射 表 局 部 映 射 表局 部 映 射 表局 部 映 射 表局 部 映 射 表局 部 映 射 表局 部 映 射 表指 向各 個(gè)局 部映 射表MFC 消息映射表 為什么要消息映像?為什么不為每個(gè)窗口消息調(diào)用一個(gè)預(yù)定義的虛擬函數(shù)?因?yàn)樗?C P U。 根據(jù)消息處理函數(shù)的不同,消息分三類(): 窗口消息: 由 MFC的窗口類( CWnd)對(duì)象來處理,即這類消息處理函數(shù)一般是 CWnd類的成員函數(shù)。參數(shù)中包含子窗口標(biāo)識(shí)和通知碼。有缺省處理,但一般要重載。 命令消息: 來自菜單、工具欄,加速鍵的通知消息,參數(shù)中包括命令標(biāo)識(shí)( ID)號(hào),它是應(yīng)用程序自定義的一些常量,由程序員編寫消息處理函數(shù)。若找不到,則先繼續(xù)搜索其基類的消息映射入口表,若都找不到,再迂回到下一個(gè)對(duì)象進(jìn)行處理。 為了提高消息匹配的效率, MFC內(nèi)部有一個(gè) 消息緩沖池 ,使用以消息值為關(guān)鍵字的散列(哈希)查找,這里可存放 512條最近使用過的消息映射入口表項(xiàng)的有關(guān)信息(只需放入口表項(xiàng),即兩個(gè)指針)。 上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院 雷電 組件對(duì)象模型 COM ? COM 是在其上生成 ActiveX 控件和 OLE 的基本 “ 對(duì)象模型 ” 。它既定義對(duì)象如何公