• <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  評論-173  文章-70  trackbacks-0
            在初學MFC的時候,選擇了這本《Visual C++通用范例開發金典》這本書,非常不錯,關鍵是很多基本的知識和小技巧。

            然而,第一個Demo就讓我很郁悶,半天都沒有搞出來。不過昨晚,做了第二個的時候,出現了轉機,不僅實現了課本上的功能,還完成了擴展操作,同時,對于消息映射的具體操作,如何手動添加消息映射代碼,不借助工具有了新的體會,這個也導致了我完成了第一個的測試。

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

            具體來說就是,我更改了Static控件的屬性,添加了代碼,使得它可以更改,可是結果卻沒有任何實現,點擊沒有反應。于是不知所錯。
            后面,遵照上面高人指點,修改了Static的ID,改為IDC_3,就可以了,當時改成IDC_STATIC1還不行,后來成功之后,居然再改回來又可以,所以覺得這個世界很奇妙,很多東西都讓人不知所錯的迷茫?。?br>
            具體來說就是兩點:
            1.修改ID,改為一個不是默認的值,然后更改屬性為nofify。
            2.添加方法,具體來說就是直接雙擊,出現一個對話框來顯示這個方法,于是OK。
            3.編寫方法體,具體來說就是這個代碼。
            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");
            }

            然后就完成了所有的任務,很簡單,當然,添加方法以前都沒有實現過。后來發現,編譯器實際上給我們做了兩件事情。

            1.在主類中添加了相應的處理函數,也就是把我們這里處理消息的函數放在類中,作為一個成員函數,放在.h文件中聲明
            2.在實現中,添加了消息映射的代碼,就是前面的
            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()
            有了這兩步,就完成了全部的工作,添加了代碼之后,就成功的實現了我們的目的。
            即,建立消息處理機制,那么,整個工作就完成了。。

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

            MFC的機制也就是這么多,正在進一步學習中。。。。。
            posted on 2010-02-04 15:28 deercoder 閱讀(437) 評論(0)  編輯 收藏 引用
            伊人久久精品线影院| 成人资源影音先锋久久资源网| 一本色道久久综合狠狠躁| 久久亚洲国产精品五月天婷| 久久久久亚洲精品无码蜜桃| 亚洲国产精品成人AV无码久久综合影院 | 久久一区二区三区99| 久久午夜无码鲁丝片午夜精品| 久久996热精品xxxx| 香蕉99久久国产综合精品宅男自| 午夜精品久久久内射近拍高清| 亚洲欧美一区二区三区久久| 国产成人精品久久| 日韩乱码人妻无码中文字幕久久| 久久夜色精品国产欧美乱| 日韩人妻无码一区二区三区久久 | 精品无码久久久久久久动漫 | 久久精品亚洲欧美日韩久久| 久久伊人精品青青草原高清| 久久精品水蜜桃av综合天堂| 久久夜色精品国产网站| 国产高清国内精品福利99久久| 亚洲精品乱码久久久久久蜜桃| 国内精品久久久久影院一蜜桃| 99精品伊人久久久大香线蕉| 久久国产三级无码一区二区| 久久夜色精品国产www| 99久久人妻无码精品系列| 久久九九免费高清视频| 国产成人精品免费久久久久| 免费观看久久精彩视频| 亚洲精品高清国产一线久久| 国产精品久久久久无码av| 久久99这里只有精品国产| 一级做a爰片久久毛片16| 中文字幕久久久久人妻| 三级韩国一区久久二区综合| 亚洲AV无码久久精品色欲| 亚洲精品成人久久久| 久久精品国产72国产精福利| 亚洲精品乱码久久久久久蜜桃不卡|