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

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

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

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



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

2)如何實(shí)現(xiàn)響應(yīng)動(dòng)態(tài)生成的按鈕呢?
動(dòng)態(tài)生成的按鈕,如何得到ID,然后響應(yīng)呢?
(參加blog:http://m.shnenglu.com/deercoder/articles/107132.html
那么我具體說說我做的吧。(本來書上在Create的最后一個(gè)參數(shù)是123,也就是一個(gè)整數(shù),對(duì)它來說沒有作用,所以直接整數(shù))
但是對(duì)于我來說,由于要繼續(xù)實(shí)現(xiàn)響應(yīng)這個(gè)按鈕的動(dòng)作,于是不得不得到具體的這個(gè)ID,那么,我就要用一個(gè)宏來定義了。
在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( 
"哈!你單擊了動(dòng)態(tài)按鈕。" );
}

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

 這個(gè)是網(wǎng)上摘錄的。但是添加后明顯就知道有錯(cuò)誤。如何實(shí)現(xiàn)呢?看看剛剛那篇blog吧,
afx_msg void OnMybut1()和ON_BN_CLICKED(ID_MYBUT1, OnMybut1)放在一起肯定是不行的,而以前看過的《深入淺出MFC》則在這個(gè)上面講了很多,特別是消息映射和消息的響應(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ù)(放在類定義中,其中注釋的那個(gè)部分說明了這個(gè)的具體位置,有很多函數(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)那個(gè)方法,即void OnMybut1();到底是哪個(gè)類的成員函數(shù)呢?我如何定義呢?

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

這樣,就OK了。

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

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



源代碼我上傳到程序員聯(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) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(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>
            亚洲欧洲精品一区二区精品久久久| 亚洲日本国产| 亚洲二区在线视频| 亚洲在线成人精品| 欧美特黄一级| 午夜伦理片一区| 久久久久久久久蜜桃| 欧美亚洲免费电影| 国产午夜精品一区理论片飘花| 亚洲欧美视频在线| 久久激情婷婷| 日韩午夜三级在线| 亚洲视频在线观看免费| 国产欧美日韩免费看aⅴ视频| 久久久蜜桃一区二区人| 美女网站久久| 欧美亚洲综合在线| 欧美电影资源| 久久一区二区三区四区五区| 噜噜噜噜噜久久久久久91| 亚洲香蕉视频| 欧美黄色日本| 久久综合国产精品| 国产精品黄色| 亚洲精品日韩在线观看| 好吊视频一区二区三区四区| 亚洲黄色有码视频| 亚洲国产精品成人| 久久国产色av| 亚洲一区中文| 欧美日韩精品中文字幕| 欧美国产免费| 136国产福利精品导航网址应用 | 亚洲大胆人体视频| 欧美一区二区成人| 欧美综合国产| 国产乱码精品一区二区三区忘忧草 | 亚洲视频免费在线| 免费成人av在线看| 国产欧美日韩精品在线| 亚洲最新在线| 午夜精品亚洲一区二区三区嫩草| 欧美日本三级| 夜夜嗨av色综合久久久综合网| 亚洲美女免费视频| 欧美三级网址| 欧美一区二区在线视频| 久久琪琪电影院| 91久久精品国产91久久性色tv | 欧美日韩国产123区| 亚洲日本中文字幕| 亚洲男人天堂2024| 在线免费不卡视频| 欧美日韩另类综合| 欧美怡红院视频一区二区三区| 裸体歌舞表演一区二区| 9久re热视频在线精品| 国产精品国产成人国产三级| 欧美一区三区二区在线观看| 欧美激情性爽国产精品17p| 欧美一区二区视频网站| 在线观看亚洲视频| 午夜精品偷拍| 久久精品国产第一区二区三区最新章节| 欧美在线日韩在线| 日韩亚洲欧美一区| 极品尤物久久久av免费看| 欧美日韩和欧美的一区二区| 午夜精品福利一区二区三区av| 欧美成人在线影院| 久久久www成人免费毛片麻豆| 亚洲免费观看| 亚洲国产精品传媒在线观看| 国产欧美一区二区三区另类精品 | 亚洲视频视频在线| 宅男精品导航| 91久久久久久| 亚洲国产精品va在看黑人| 国内成+人亚洲+欧美+综合在线| 欧美激情按摩在线| 欧美剧在线免费观看网站| 久久久久久穴| 欧美不卡视频一区发布| 欧美电影免费观看| 欧美成人精品一区二区三区| 久久视频免费观看| 亚洲高清av| 日韩视频一区二区三区| 在线视频你懂得一区二区三区| 亚洲免费av观看| 亚洲午夜免费视频| 午夜天堂精品久久久久 | 韩日欧美一区| 亚洲国产精品女人久久久| 亚洲免费电影在线| 亚洲午夜激情在线| 久久久久久久97| 亚洲黄色免费网站| 亚洲欧美日韩国产一区二区| 久久偷看各类wc女厕嘘嘘偷窃| 欧美肥婆在线| 国产一区二区三区久久悠悠色av | 宅男66日本亚洲欧美视频| 亚洲女女做受ⅹxx高潮| 久久亚洲一区二区| 亚洲伊人一本大道中文字幕| 久久性天堂网| 国产日韩欧美电影在线观看| 99精品久久| 欧美成人自拍| 午夜久久tv| 亚洲日本欧美日韩高观看| 欧美在线观看天堂一区二区三区| 欧美激情va永久在线播放| 一区二区在线不卡| 久久精品国产精品亚洲精品| 亚洲视频碰碰| 欧美日韩中文字幕精品| av成人手机在线| 91久久精品国产91性色tv| 美日韩在线观看| 亚洲人精品午夜| 欧美激情影院| 欧美激情1区2区| 夜色激情一区二区| 亚洲视频高清| 国产美女精品一区二区三区| 先锋a资源在线看亚洲| 久久久久国产精品午夜一区| 亚洲免费黄色| 国产精品免费看| 久久精视频免费在线久久完整在线看| 亚洲尤物精选| 国产亚洲美州欧州综合国| 久久久噜噜噜久久中文字幕色伊伊| 亚洲欧美国产日韩天堂区| 国产一区二区三区观看| 欧美大片网址| 国产精品久久久久高潮| 猫咪成人在线观看| 欧美丝袜一区二区| 久久人91精品久久久久久不卡| 久久综合精品国产一区二区三区| 亚洲精品一区二区网址| 亚洲欧美精品在线| 日韩写真视频在线观看| 欧美夜福利tv在线| 99精品99久久久久久宅男| 欧美一区二区视频网站| aa亚洲婷婷| 欧美www视频在线观看| 久久看片网站| 国产亚洲午夜| 亚洲欧美不卡| 欧美一区二区在线免费观看| 麻豆国产精品777777在线| 欧美伦理91i| 亚洲人成久久| 伊人久久成人| 久久精品免费| 欧美一区二区三区四区高清 | 国产精品久久久99| 亚洲精品视频在线观看网站| 亚洲成人在线视频播放| 久久久久久久久久久久久久一区 | 国产精品视频999| 亚洲精品视频一区| 一本一道久久综合狠狠老精东影业| 久久综合免费视频影院| 欧美激情亚洲综合一区| 日韩一级精品| 国产精品成人v| 午夜亚洲视频| 欧美高清视频一二三区| 一本一本久久a久久精品牛牛影视| 欧美成人综合网站| 一本不卡影院| 久久夜色精品亚洲噜噜国产mv| 亚洲电影成人| 国产女精品视频网站免费| 久久在线观看视频| 宅男66日本亚洲欧美视频| 久久精品中文字幕免费mv| 亚洲伦理在线免费看| 媚黑女一区二区| 亚洲欧美一区二区在线观看| 欧美成人四级电影| 亚洲欧美精品伊人久久| 亚洲级视频在线观看免费1级| 欧美视频你懂的| 欧美激情2020午夜免费观看| 欧美在线一二三区| 久久久久久久97| 亚洲一二三区精品| 亚洲精品在线免费观看视频| 国产婷婷色一区二区三区| 亚洲人久久久| 免费日韩成人| 开元免费观看欧美电视剧网站| 亚洲欧美视频|