日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC动态创建控件并响应事件代码实现过程

發(fā)布時間:2025/3/12 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC动态创建控件并响应事件代码实现过程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
MFC動態(tài)創(chuàng)建控件以及響應動態(tài)創(chuàng)建的控件的事件的實現(xiàn)方法如下。

1.創(chuàng)建對象
??? 用new進行動態(tài)創(chuàng)建一個對象。然后調(diào)用Create函數(shù)創(chuàng)建窗口,在函數(shù)的父窗口參數(shù)中傳入this或者用AfxGetMainWnd()獲取的父窗口對象指針。最后一個窗口ID先自定義一個ID名。

2.定義ID宏
??? 在cpp文件中,定一個創(chuàng)建對象時自定義的ID的宏,給予一個數(shù)字,不要和系統(tǒng)資源的ID值重復。如#define ID_DY_OK 10000

3.消息映射
??? 在VS2010中的cpp文件中的BEGIN_MESSAGE_MAP之間寫上映射語句。可以參照靜態(tài)生成的消息映射寫。括號內(nèi)第一個寫上自定義的ID名,后面寫上響應的函數(shù)地址,以&取地址,&后面緊跟函數(shù)名,函數(shù)名需要寫清楚所屬類。因此,一個類中的消息可以在另外一個類中進行處理,只要消息映射寫上要處理消息的類名以及函數(shù)名,并在處理消息的類中進行消息處理函數(shù)的聲明。
??? 而在VC6.0中,在//{{AFX_MSG_MAP()中間是類向?qū)ё詣由傻?#xff0c;里面的消息處理都是靜態(tài)的控件的消息處理。如果要進行動態(tài)控件的消息處理,則要將消息映射寫在END_MESSAGE_MAP()之間的//}}AFX_MSG_MAP之后的中間區(qū)域。消息映射的括號內(nèi)的第二個參數(shù)只寫函數(shù)名即可。當然,此時的函數(shù)是本類中的,這是默認的情況。不需要寫&取址符,函數(shù)名就表示函數(shù)地址。如果要用其他類中的函數(shù)進行處理,則只需要加上類名作用域解析操作符和響應的函數(shù)名即可。

4.消息聲明
??? 在頭文件中,聲明消息處理函數(shù)。函數(shù)的聲明和普通的函數(shù)聲明一樣,此外,還要在聲明前面加上afx_msg作為消息響應函數(shù)的聲明標志。

5.消息處理
??? 在cpp文件中,和普通函數(shù)一樣處理函數(shù)定義,函數(shù)可以有參數(shù)也可以沒有參數(shù),如果有參數(shù),參考靜態(tài)控件消息處理函數(shù)的參數(shù)樣式寫和處理。


??? 當然,有一個比較快速的方法就是,動態(tài)創(chuàng)建好控件后,然后用向?qū)?chuàng)建靜態(tài)的控件的消息處理,然后將動態(tài)創(chuàng)建的控件ID值和靜態(tài)的設(shè)置成一樣的,然后刪掉靜態(tài)控件。如果是VC6.0則要將消息映射拿到//{{AFX_MSG_MAP()之外END_MESSAGE_MAP()之前即可。但是建議用上面的手動添加,靈活且能夠深刻理解消息處理機制。MFC動態(tài)創(chuàng)建控件以及響應動態(tài)創(chuàng)建的控件的事件的實現(xiàn)方法和原理。MFC動態(tài)創(chuàng)建控件以及響應動態(tài)創(chuàng)建的控件的事件的實現(xiàn)方法和原理。MFC動態(tài)創(chuàng)建控件以及響應動態(tài)創(chuàng)建的控件的事件的實現(xiàn)方法和原理。MFC動態(tài)創(chuàng)建控件以及響應動態(tài)創(chuàng)建的控件的事件的實現(xiàn)方法和原理。MFC動態(tài)創(chuàng)建控件以及響應動態(tài)創(chuàng)建的控件的事件的實現(xiàn)方法和原理。MFC動態(tài)創(chuàng)建控件以及響應動態(tài)創(chuàng)建的控件的事件的實現(xiàn)方法和原理。

總結(jié)

以上是生活随笔為你收集整理的MFC动态创建控件并响应事件代码实现过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。