青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-145  評論-173  文章-70  trackbacks-0
開始學(xué)習(xí)MFC,各位高手不要見笑啊。

其實(shí)之前一直都在陸續(xù)的學(xué)習(xí)中,不過看書和動手相差太遠(yuǎn)了,所以一直沒有長進(jìn),今天動手寫了小的程序,就出現(xiàn)了很多狀況,于是不得不好好的思考和查找資料,也收獲了不少。

這個是第一個成功的程序。第一個就是一個小的對話框,點(diǎn)擊上面的add按鈕,就會出現(xiàn)一個Test的按鈕,然后再次點(diǎn)擊的時(shí)候,就會消失,此時(shí)就會出現(xiàn)循環(huán)的出現(xiàn)和消失的情況,而如果不點(diǎn)擊的時(shí)候,就會保持那種狀態(tài)。
先上了一張圖:



(高手們暗笑吧)那個按鈕就是動態(tài)生成的,而那個MessageBox則是點(diǎn)擊動態(tài)生成的按鈕出現(xiàn)的。
問題和解答:
1)如何實(shí)現(xiàn)顯示和不顯示呢?
添加類的成員變量。這里是一個dlg,對話框的類,因此切換到類的層次結(jié)構(gòu)圖中,然后點(diǎn)擊右邊,添加member variable,添加兩個變量,一個是BOOL類型的,一個是CButton類型的,其中后者,就是那個要創(chuàng)建的按鈕的名稱。
如何實(shí)現(xiàn)呢?很簡單,添加方法。在拖住一個button控件后,雙擊,生成一個響應(yīng)函數(shù),那么在里面添加的話就直接響應(yīng)了add按鈕了。
然后,里面的就是填充函數(shù)體了,來一個if判斷,如果剛才的那個BOOL類型的變量為true或者是false,就響應(yīng)的創(chuàng)建或者銷毀,注意完成之后,需要重新設(shè)置,使得下次點(diǎn)擊的時(shí)候可以再次起作用。
至此,就完成了前面的那部分功能。

2)如何實(shí)現(xiàn)響應(yīng)動態(tài)生成的按鈕呢?
動態(tài)生成的按鈕,如何得到ID,然后響應(yīng)呢?
(參加blog:http://m.shnenglu.com/deercoder/articles/107132.html
那么我具體說說我做的吧。(本來書上在Create的最后一個參數(shù)是123,也就是一個整數(shù),對它來說沒有作用,所以直接整數(shù))
但是對于我來說,由于要繼續(xù)實(shí)現(xiàn)響應(yīng)這個按鈕的動作,于是不得不得到具體的這個ID,那么,我就要用一個宏來定義了。
在resources.h里面添加#define    IDC_1 123,然后替換,就OK了。
然后剩下的問題是響應(yīng),通過查資料,知道了基本步驟是:
CButton *p_Button = new CButton();
p_Button
->Create( "Good", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | nStyle, rect, this, ID_MYBUT1 ); 
然后添加:
afx_msg 
void OnMybut1()
ON_BN_CLICKED(ID_MYBUT1, OnMybut1)
最后
void CTextEditorView::OnMybut1()
{
MessageBox( 
"哈!你單擊了動態(tài)按鈕。" );
}

我知道這樣可以動態(tài)創(chuàng)建一個按鈕并添加消息響應(yīng)函數(shù),但其消息響應(yīng)函數(shù)還是手動
添加,我想問一下有沒有一種方法,可以動態(tài)創(chuàng)建一個按鈕后再動態(tài)創(chuàng)建其消息響應(yīng)函數(shù)?

 這個是網(wǎng)上摘錄的。但是添加后明顯就知道有錯誤。如何實(shí)現(xiàn)呢?看看剛剛那篇blog吧,
afx_msg void OnMybut1()和ON_BN_CLICKED(ID_MYBUT1, OnMybut1)放在一起肯定是不行的,而以前看過的《深入淺出MFC》則在這個上面講了很多,特別是消息映射和消息的響應(yīng)。于是了解到:
ON_BN_CLICKED(ID_MYBUT1, OnMybut1)-----------------將相應(yīng)的ID_MYBUT1關(guān)聯(lián)到函數(shù)OnMybut1   (放在實(shí)現(xiàn)中,有其他的類似的東西,那些paint等等函數(shù)也都是這樣映射到ID的,實(shí)現(xiàn)方法的。因此放在.cpp文件中)

代碼如下:
BEGIN_MESSAGE_MAP(CTeswDlg, CDialog)
 //{{AFX_MSG_MAP(CTeswDlg)
 ON_WM_PAINT()
 ON_WM_QUERYDRAGICON()
 ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
 ON_BN_CLICKED(IDC_1, OnMybut1)
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()



afx_msg void OnMybut1()---------------------------------------(Generated message map functions)消息映射函數(shù)(放在類定義中,其中注釋的那個部分說明了這個的具體位置,有很多函數(shù),比如,OnInitDialog , Onpaint等等函數(shù)。因此也是類的成員函數(shù))代碼部分如下
(由于是聲明,放在.h文件中):
protected:
 HICON m_hIcon;

 // Generated message map functions
 //{{AFX_MSG(CTeswDlg)
 virtual BOOL OnInitDialog();
 afx_msg void OnPaint();
 afx_msg HCURSOR OnQueryDragIcon();
 afx_msg void OnButton1();
 afx_msg void OnMybut1();
 //}}AFX_MSG
 DECLARE_MESSAGE_MAP()
};



將這兩者完成后,實(shí)際上就完成了大部分工作,不過還是不夠啊。

下面的,具體實(shí)現(xiàn)那個方法,即void OnMybut1();到底是哪個類的成員函數(shù)呢?我如何定義呢?

前面的問題其實(shí)就解決了。如何,在.h文件中,我既然用到了消息映射的函數(shù),而且在class中,那么自然是這個class的子函數(shù),于是就是用到這個類的,前面的Demo小例子,用的是TextEdit,這里是一個DLG,要具體的分析,于是改正之后,就變成了下面的的這個。
void CTeswDlg::OnMybut1()
{
 MessageBox( "哈!你單擊了動態(tài)按鈕。" );
}

這樣,就OK了。

看到結(jié)果就會發(fā)現(xiàn),其實(shí)處理的函數(shù)都沒有變,只是添加了一個新的消息映射和button,由他們來自動處理,與我們原來的那個add按鈕的函數(shù)是沒有任何關(guān)系的。兩者獨(dú)立。

于是程序就完了。結(jié)果很簡單,入門不容易。。。。



源代碼我上傳到程序員聯(lián)合開發(fā)網(wǎng),下載地址為:http://www.pudn.com/downloads225/sourcecode/windows/control/button/detail1058419.html
ok,完了。繼續(xù)學(xué)習(xí)中………………(寒假閉關(guān)修煉,哈哈!!)

posted on 2010-02-03 23:17 deercoder 閱讀(3442) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情第一页xxx| 亚洲国产另类久久久精品极度| 一本色道久久综合亚洲精品不| 快播亚洲色图| 久久久精品动漫| 亚洲第一久久影院| 欧美日韩在线大尺度| 亚洲欧美日韩一区在线观看| 亚洲欧美一区二区原创| 狠狠色综合网| 国产精品初高中精品久久| 欧美一区在线看| 亚洲精品一区二区三区蜜桃久| 一区二区三区精密机械公司 | 99国产精品国产精品久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 极品少妇一区二区| 久久久久久97三级| 亚洲与欧洲av电影| 亚洲裸体在线观看| 免费观看国产成人| 久久久久久久激情视频| 亚洲神马久久| 999在线观看精品免费不卡网站| 亚洲美女尤物影院| 国产拍揄自揄精品视频麻豆| 亚洲一区二区三区激情| 欧美激情久久久久久| 久久国产精品99国产精| 中文欧美日韩| 亚洲视频第一页| 亚洲天堂免费观看| 亚洲一区二区日本| 亚洲男人的天堂在线aⅴ视频| 亚洲国产欧美一区二区三区同亚洲| 国产精品网站一区| 国产精品久久久久三级| 欧美日韩成人一区二区三区| 欧美一区二视频| 性欧美xxxx视频在线观看| 亚洲私人黄色宅男| 在线亚洲欧美视频| 亚洲视频1区2区| 亚洲欧洲综合另类| 国产精品日韩在线一区| 欧美日韩一区二区视频在线观看 | 亚洲免费观看在线观看| 欧美电影免费观看高清完整版| 亚洲六月丁香色婷婷综合久久| 最近中文字幕日韩精品 | 欧美成人精品不卡视频在线观看| 国产精品亚洲综合色区韩国| 亚洲欧美一区二区原创| 在线视频日本亚洲性| 99精品福利视频| 亚洲欧美国产高清va在线播| 亚洲国产精品成人精品| 欧美激情一区二区久久久| 欧美国产精品v| 亚洲精品一二| 午夜欧美精品久久久久久久| 久久久久久黄| 亚洲免费观看高清完整版在线观看熊 | 国产精品久久久久久久久婷婷 | 国产九色精品成人porny| 欧美三级中文字幕在线观看| 免费观看成人鲁鲁鲁鲁鲁视频 | 韩国三级电影久久久久久| 国产一区二区三区电影在线观看| 国内精品99| 亚洲狼人综合| 欧美一区二区三区视频免费播放 | 性欧美办公室18xxxxhd| 欧美在线亚洲在线| 亚洲国产精品v| 亚洲综合成人在线| 久久夜色精品国产欧美乱| 欧美va天堂va视频va在线| 亚洲一区自拍| 玖玖在线精品| 欧美视频久久| 亚洲国产一区二区三区在线播| 亚洲精品麻豆| 久久久综合网| 99国产精品国产精品久久| 亚洲一级特黄| 欧美日韩国产成人高清视频| 欧美三级免费| 欧美激情精品久久久久久蜜臀| 欧美调教视频| 日韩系列欧美系列| 久久久久久一区| 亚洲一区二区免费| 欧美日本不卡视频| 亚洲黄页视频免费观看| 亚洲免费一区二区| 亚洲人体大胆视频| 99精品热视频| 日韩一级视频免费观看在线| 在线亚洲国产精品网站| 欧美激情综合| 亚洲茄子视频| 巨乳诱惑日韩免费av| 亚洲一区在线观看视频 | 亚洲欧美自拍偷拍| 欧美成人免费在线| 欧美在线不卡| 国产精品日韩二区| 亚洲视频在线一区观看| 亚洲线精品一区二区三区八戒| 久久精品视频播放| 亚洲性夜色噜噜噜7777| 欧美三级在线视频| 亚洲欧美成人一区二区在线电影 | 一区二区三区自拍| 欧美一区二区三区精品| 这里只有精品电影| 欧美日韩一区二区三区视频 | 国产精品男gay被猛男狂揉视频| 亚洲欧洲综合另类在线| 久久一区激情| 久久偷窥视频| 亚洲狠狠婷婷| 夜夜嗨av一区二区三区| 欧美极品色图| 1769国产精品| 亚洲一二区在线| 免费成人高清视频| 久久免费国产精品1| 亚洲欧美日韩一区| 99ri日韩精品视频| 欧美日韩精品福利| 日韩视频在线你懂得| 免费观看成人www动漫视频| 一区二区三区欧美| 欧美日韩大片| 欧美寡妇偷汉性猛交| 亚洲欧美中文字幕| 国产精品99久久久久久www| 久久久91精品国产| 欧美一级免费视频| 国产精品自拍视频| 亚洲免费在线观看| 亚洲国产精品成人| 久久久99爱| 久久久久看片| 亚洲第一区在线观看| 久久av二区| 亚洲欧美激情诱惑| 国产区二精品视| 欧美在线地址| 免费在线欧美黄色| 亚洲精品一区二区三区不| 免费欧美视频| 亚洲小说春色综合另类电影| 国产精品久久久一区麻豆最新章节 | 亚洲欧洲综合| 在线国产精品一区| 久久久久综合| 亚洲成人在线视频播放| 国产一区二区看久久| 香蕉久久a毛片| 久久久免费av| 亚洲欧洲综合另类| 欧美日韩在线电影| 亚洲伊人色欲综合网| 久久精品国产亚洲aⅴ| 国产精品自拍小视频| 香港久久久电影| 久久五月激情| 一本久久知道综合久久| 欧美精品在线极品| 中文成人激情娱乐网| 久久国产直播| 亚洲理伦电影| 国产综合婷婷| 欧美日韩一区二区国产| 亚洲男人的天堂在线观看| 久久久xxx| 中文精品在线| 红桃视频国产一区| 欧美日韩在线一区二区| 亚洲欧美日韩中文视频| 久久久久久久综合色一本| 亚洲电影免费观看高清完整版在线| 男女av一区三区二区色多| 一本色道久久综合狠狠躁篇怎么玩| 亚洲欧美日韩高清| 1024亚洲| 国内精品久久久| 国产精品久久婷婷六月丁香| 性欧美长视频| 日韩小视频在线观看专区| 欧美中文字幕不卡| 亚洲视频播放| 日韩视频第一页| 亚洲国产精品美女| 极品尤物久久久av免费看| 欧美视频精品在线| 欧美精品日韩综合在线|