• <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>
            隨筆-145  評(píng)論-173  文章-70  trackbacks-0
            在初學(xué)MFC的時(shí)候,選擇了這本《Visual C++通用范例開(kāi)發(fā)金典》這本書(shū),非常不錯(cuò),關(guān)鍵是很多基本的知識(shí)和小技巧。

            然而,第一個(gè)Demo就讓我很郁悶,半天都沒(méi)有搞出來(lái)。不過(guò)昨晚,做了第二個(gè)的時(shí)候,出現(xiàn)了轉(zhuǎn)機(jī),不僅實(shí)現(xiàn)了課本上的功能,還完成了擴(kuò)展操作,同時(shí),對(duì)于消息映射的具體操作,如何手動(dòng)添加消息映射代碼,不借助工具有了新的體會(huì),這個(gè)也導(dǎo)致了我完成了第一個(gè)的測(cè)試。

            先前,對(duì)于MFC的實(shí)現(xiàn)僅僅看了下《深入淺出MFC》,不過(guò)很懵懂,不知道具體的做法。雖然很經(jīng)典,不過(guò)對(duì)于我這個(gè)初學(xué)者還是很困難。
            今天再次消化,終于得到了正確的做法。
            原帖見(jiàn)CSDN上面的疑問(wèn):http://topic.csdn.net/u/20100203/21/4eec88fc-1eaa-4e82-8d68-d4475d419b38.html?50579
            CSDN牛人輩出,也很熱心,狂贊!!

            具體來(lái)說(shuō)就是,我更改了Static控件的屬性,添加了代碼,使得它可以更改,可是結(jié)果卻沒(méi)有任何實(shí)現(xiàn),點(diǎn)擊沒(méi)有反應(yīng)。于是不知所錯(cuò)。
            后面,遵照上面高人指點(diǎn),修改了Static的ID,改為IDC_3,就可以了,當(dāng)時(shí)改成IDC_STATIC1還不行,后來(lái)成功之后,居然再改回來(lái)又可以,所以覺(jué)得這個(gè)世界很奇妙,很多東西都讓人不知所錯(cuò)的迷茫啊!

            具體來(lái)說(shuō)就是兩點(diǎn):
            1.修改ID,改為一個(gè)不是默認(rèn)的值,然后更改屬性為nofify。
            2.添加方法,具體來(lái)說(shuō)就是直接雙擊,出現(xiàn)一個(gè)對(duì)話(huà)框來(lái)顯示這個(gè)方法,于是OK。
            3.編寫(xiě)方法體,具體來(lái)說(shuō)就是這個(gè)代碼。
            void CAdwDlg::OnStatic1() 
            {
                
            // TODO: Add your control notification handler code here
                CString str;
                GetDlgItem(IDC_STATIC1)
            ->GetWindowText(str);
                
            if(str == "Hello,world")
                    GetDlgItem(IDC_STATIC1)
            ->SetWindowText("nice!");
                
            if(str == "nice!")
                    GetDlgItem(IDC_STATIC1)
            ->SetWindowText("good!");
                
            if(str == "good!")
                    GetDlgItem(IDC_STATIC1)
            ->SetWindowText("Hello,world");
            }

            然后就完成了所有的任務(wù),很簡(jiǎn)單,當(dāng)然,添加方法以前都沒(méi)有實(shí)現(xiàn)過(guò)。后來(lái)發(fā)現(xiàn),編譯器實(shí)際上給我們做了兩件事情。

            1.在主類(lèi)中添加了相應(yīng)的處理函數(shù),也就是把我們這里處理消息的函數(shù)放在類(lèi)中,作為一個(gè)成員函數(shù),放在.h文件中聲明
            2.在實(shí)現(xiàn)中,添加了消息映射的代碼,就是前面的
            BEGIN_MESSAGE_MAP(CAdwDlg, CDialog)
                
            //{{AFX_MSG_MAP(CAdwDlg)
                ON_WM_PAINT()
                ON_WM_QUERYDRAGICON()
                ON_BN_CLICKED(IDC_STATIC1, OnStatic1)
                
            //}}AFX_MSG_MAP
            END_MESSAGE_MAP()
            有了這兩步,就完成了全部的工作,添加了代碼之后,就成功的實(shí)現(xiàn)了我們的目的。
            即,建立消息處理機(jī)制,那么,整個(gè)工作就完成了。。

            下載地址是:http://www.pudn.com/downloads225/sourcecode/windows/control/static/detail1058929.html

            MFC的機(jī)制也就是這么多,正在進(jìn)一步學(xué)習(xí)中。。。。。
            posted on 2010-02-04 15:28 deercoder 閱讀(444) 評(píng)論(0)  編輯 收藏 引用

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


            久久精品国产亚洲一区二区| 97久久婷婷五月综合色d啪蜜芽| 国产精品99久久久久久www| 亚洲精品无码久久久影院相关影片| 精品久久国产一区二区三区香蕉| 狠狠色丁香久久婷婷综| 国产精品久久久亚洲| 国内精品久久久久影院一蜜桃| 精品无码久久久久久午夜| 色婷婷综合久久久久中文一区二区| 青草国产精品久久久久久| 欧洲精品久久久av无码电影| 亚洲国产另类久久久精品小说| 无码精品久久久天天影视 | 久久久久久午夜成人影院 | 伊人久久大香线焦AV综合影院 | 国产精品99久久久久久人| 色偷偷888欧美精品久久久| 久久精品国产一区二区三区不卡 | 久久无码AV中文出轨人妻| 中文字幕久久欲求不满| 国产成人精品久久| 一本色道久久综合狠狠躁篇| 久久本道久久综合伊人| 久久婷婷五月综合成人D啪| 亚洲中文字幕无码一久久区| 亚洲中文字幕伊人久久无码| 久久夜色精品国产噜噜亚洲AV| 亚洲精品国产自在久久| 久久精品视频一| 少妇高潮惨叫久久久久久 | 久久99久久无码毛片一区二区| 国产香蕉久久精品综合网| 久久黄视频| 久久久91精品国产一区二区三区 | 看全色黄大色大片免费久久久| 久久久久久综合网天天| 韩国三级中文字幕hd久久精品| 亚洲AV无码久久精品狠狠爱浪潮| 久久91精品综合国产首页| 久久国产精品99精品国产|