欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
MFC 三種消息

MFC應用程序中傳輸的消息有三種類(lèi)型:窗口消息、命令消息和控件通知。  

(1)窗口消息:WM_XXX

      窗口消息(Window Message)一般與窗口的內部運作有關(guān),如:創(chuàng )建窗口、繪制窗口和銷(xiāo)毀窗口等。通常,消息是從系統發(fā)送到窗口,或從窗口發(fā)送到窗口。  

(2)命令消息:WM_COMMAND

      命令消息一般與處理用戶(hù)請求相關(guān),當用戶(hù)單擊一個(gè)菜單項或工具欄時(shí),命令消息產(chǎn)生,并被發(fā)送到能處理該請求的類(lèi)對象(如:裝載文件、編輯文本和保存選項等)。  

(3)控件通知:有多種格式       通常,控件通知在某些重要事件發(fā)生時(shí),由控件窗口發(fā)送到父窗口,如打開(kāi)一個(gè)組合框??丶ㄖ獮楦复翱谶M(jìn)一步控制子窗口提供了機會(huì )。例如,打開(kāi)一個(gè)組合框時(shí),父窗口可以用組合框初建時(shí)得不到的消息填充它。  

      BN_XXXX是CButton產(chǎn)生的消息,EN_XXXX是CEdit產(chǎn)生的消息,等等。

 

這個(gè)博客寫(xiě)的比較詳細http://blog.csdn.net/zhanglidn013/article/details/6958257

下面這個(gè)通知消息我比較模糊:

Windows自定義的子窗口控件(Predefined Chilld Window Controls)包括BUTTON、COMBOBOX、EDIT、LISTBOX、RichEdit、SCROLLBAR、STATIC。

以上Windows預定義的子窗口控件的窗口過(guò)程中做了反射處理,即在某一事件(點(diǎn)擊菜單,點(diǎn)擊加速鍵,點(diǎn)擊子窗口按鈕,點(diǎn)擊工具欄按鈕)處理后發(fā)送一個(gè)WM_COMMAND通知消息給父窗口。這樣某個(gè)事件發(fā)生了,子窗口做默認處理后,父窗口可以做后續處理使父子窗口工作協(xié)調。例如按下按鈕,按鈕呈凹陷狀,這是由BtnProc對WM_LBUTTONDOWN(WM_PAINT)的重繪處理;松開(kāi)按鈕,按鈕恢復原態(tài),這是由BtnProc對WM_LBUTTONUP(WM_PAINT)的重繪處理。往往在松開(kāi)按鈕的時(shí)候,發(fā)送WM_COMMAND消息(消息碼為BN_CLICKED)給父窗口,由父窗口做點(diǎn)擊事件響應,這樣便于狀態(tài)和邏輯的分離。

 

還有消息映射 消息反射之分。

①、映射機制的原理 Windows 下的程序包括 Windows 系統都是基于消息機制的。 MFC消息映射機制的具體實(shí)現方法是:在每個(gè)能接收和處理消息的類(lèi)中,定義一個(gè)消息和消息響應函數的靜態(tài)對照表,即消息映射表; 在消息映射表中,消息與對應的消息處理函數指針是成對出現的。某個(gè)類(lèi)能處理的所有消息及其對應的消息處理函數的地址都列在這個(gè)類(lèi)所對應的靜態(tài)表中; 當有消息需要處理時(shí),程序只要搜索該消息靜態(tài)表,查看表中是否含有該消息,就可以知道該類(lèi)能否處理此消息; 如果能處理該消息,則同樣依照靜態(tài)表能很容易找到并調用對應的消息處理函數!


②、一般情況下,一個(gè)MFC的消息映射在程序中有三處相關(guān)信息:1》消息響應函數的聲明 2》消息響應函數實(shí)現 3》用來(lái)關(guān)聯(lián)消息和消息響應函數的宏 具體見(jiàn)示例代碼……更為詳細的講解參見(jiàn)《深入淺出MFC 第二版 簡(jiǎn)體中文版》 - 侯杰:http://www.cctry.com/thread-192-1-1.html
③、針對不同的 Windows 消息,MFC提供了不同的消息映

射宏,主要分為如下六類(lèi):


1、Windows 消息映射宏 Windows 消息映射宏用于處理普通的窗口消息。此類(lèi)消息映射宏前綴為“ON_WM_”,并且沒(méi)有參數;


2、命令消息映射宏 命令消息 WM_COMMAND 是一種特殊的窗口消息,它從一個(gè)窗口發(fā)送到另一個(gè)窗口,以處理來(lái)自用戶(hù)的請求,是 ON_COMMAND 宏和 ON_COMMAND_RANGE 宏;


3、控件通知消息映射宏 控件通知消息是指控件窗口發(fā)送到其父窗口的消息,其消息映射宏為 ON_CONTROL 和 ON_CONTROL_RANGE,有時(shí)在程序中并不見(jiàn) ON_CONTROL 宏,而見(jiàn) ON_BN_CLICKED 宏, 其實(shí) ON_CONTROL 宏派生出許多的映射宏,包括 ON_BN_CLICKED 宏等;


4、控件通知消息映射宏 控件通知消息映射宏處理的窗口消息有 WM_COMMAND,WM_NOTIFY,其消息映射宏有 ON_NOTIFY 和 ON_NOTIFY_RANGE;


5、反射消息映射宏 反射消息是指子窗口向父窗口發(fā)送的通知消息或控件通知消息,父窗口將該消息轉化為相應的反射消息發(fā)送給子窗口優(yōu)先處理。 處理窗口消息 WM_NOTIFY+WM_REFLECT_BASE 的宏是 ON_NOTIFY_REFLECT,處理窗口消息 WM_COMMAND+WM_REFLECT_BASE 的宏是 ON_CONTROL_REFLECT, 還有其他的反射消息宏,具體請參考MDSN。


6、擴展消息映射宏 有 ON_COMMAND | ON_COMMAND_RANGE | ON_NOTIFY | ON_NOTIFY_RANGE ……

④、自定義消息的發(fā)送與響應:

1、自定義消息號:#define WM_CCTRY_MSG (WM_USER+100)

2、在頭文件中添加消息響應函數的聲明:afx_msg LRESULT OnCcTryMsg(WPARAM wParam, LPARAM lParam);

3、在CPP文件中添加消息響應函數的實(shí)現: LRESULT CXXXDlg::OnCcTryMsg(WPARAM wParam, LPARAM lParam) { //相關(guān)代碼; }

4、在 BEGIN_MESSAGE_MAP 與 END_MESSAGE_MAP 之間加入消息的映射代碼:ON_MESSAGE(WM_CCTRY_MSG, &CDlgTestDlg::OnCcTryMsg)

5、消息的發(fā)送:

 

消息反射解釋

 

父窗口將控制子窗口發(fā)給它的通知消息,首先反射回子窗口進(jìn)行處理(即給控制子窗口一個(gè)機會(huì ),讓控制子窗口處理此消息),這樣通知消息就有機會(huì )能被子窗口自身進(jìn)行處理。

 

MFC中引入消息反射的原因

 

在Windows的消息處理中,控制子窗口的發(fā)給其父窗口的通知消息只能由其父窗口進(jìn)行處理,這使得控制子窗口的自身能動(dòng)性大大降低(你想,它連改變自己的背景色,處理一個(gè)自身滾動(dòng)問(wèn)題都要其父窗口來(lái)完成),為了解決這個(gè)問(wèn)題,在MFC中引入了反射消息“Reflect Message”的概念,進(jìn)行消息反射,可以使得控制子窗口能夠自行處理與自身相關(guān)的一些消息,增強了封裝性,從而提高了控制子窗口的可重用性。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
MFC消息映射詳解(整理轉載)
MFC常用消息-處理函數-映射
windows消息機制(MFC)
ON_COMMAND ON_MESSAGE ON_NOTIFY區別與聯(lián)系
VS2010/MFC編程入門(mén)之五(MFC消息映射機制概述)
白喬原創(chuàng ):VC之美化界面篇
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久