• <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>

            The Fourth Dimension Space

            枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            走進(jìn)MFC的空間

            在看了孫鑫的 《C++深入詳解》 后,終于能寫出個(gè)人的第一個(gè)MFC程序了,雖然是模仿孫鑫的例程,不過個(gè)人非常有成就感呵,希望能早日寫出一個(gè)功能完整的程序;

            #include<windows.h>
            #include
            <stdio.h>
            #include
            <cmath>
            #include
            <iostream>
            using namespace std;


            LRESULT CALLBACK WinSunProc(
                                        HWND hwnd,      
            // handle to window
                                        UINT uMsg,      // message identifier
                                        WPARAM wParam,  // first message parameter
                                        LPARAM lParam   // second message parameter
                                        );

            int WINAPI WinMain(
                               HINSTANCE hInstance,      
            // handle to current instance
                               HINSTANCE hPrevInstance,  // handle to previous instance
                               LPSTR lpCmdLine,          // command line
                               int nCmdShow              // show state
                               )
            {
                WNDCLASS wndcls;
                wndcls.cbClsExtra
            =0;
                wndcls.cbWndExtra
            =0;
                wndcls.hbrBackground
            =(HBRUSH)GetStockObject(WHITE_PEN);
                wndcls.hCursor
            =LoadCursor(NULL,IDC_CROSS);
                wndcls.hIcon
            =LoadIcon(NULL,IDI_ERROR);
                wndcls.hInstance
            =hInstance;
                wndcls.lpfnWndProc
            =WinSunProc;
                wndcls.lpszClassName
            ="abilitytao";
                wndcls.lpszMenuName
            =NULL;
                wndcls.style
            =CS_HREDRAW | CS_VREDRAW;
                RegisterClass(
            &wndcls);
                
                HWND hwnd;
                hwnd
            =CreateWindow("abilitytao","歡迎來到MFC世界",WS_OVERLAPPEDWINDOW,
                    
            0,0,600,400,NULL,NULL,hInstance,NULL);
                
                ShowWindow(hwnd,SW_SHOWNORMAL);
                UpdateWindow(hwnd);
                
                MSG msg;
                
            while(GetMessage(&msg,NULL,0,0))
                
            {
                    TranslateMessage(
            &msg);
                    DispatchMessage(
            &msg);
                }

                
            return msg.wParam;
            }


            LRESULT CALLBACK WinSunProc(
                                        HWND hwnd,      
            // handle to window
                                        UINT uMsg,      // message identifier
                                        WPARAM wParam,  // first message parameter
                                        LPARAM lParam   // second message parameter
                                        )
            {
                
            switch(uMsg)
                
            {
                
            case WM_CHAR:
                    
            char szChar[20];
                    sprintf(szChar,
            "char code is %d",wParam);
                    MessageBox(hwnd,szChar,
            "char",0);
                    
            break;
                
            case WM_LBUTTONDOWN:
                    MessageBox(hwnd,
            "mouse clicked","message",0);
                    HDC hdc;
                    hdc
            =GetDC(hwnd);
                    
            //ReleaseDC(hwnd,hdc);
                    break;
                
            case WM_PAINT:
                    HDC hDC;
                    PAINTSTRUCT ps;
                    hDC
            =BeginPaint(hwnd,&ps);
                    TextOut(hDC,
            260,100,"hello,MFC",strlen("hello,MFC"));
                    TextOut(hDC,
            350,120,"by  -abilitytao",strlen("by  -abilitytao"));
                    EndPaint(hwnd,
            &ps);
                    
            break;
                
            case WM_CLOSE:
                    
            if(IDYES==MessageBox(hwnd,"真的要退出嗎?","提示",MB_YESNO))
                    
            {
                        DestroyWindow(hwnd);
                    }

                    
            break;
                
            case WM_DESTROY:
                    PostQuitMessage(
            0);
                    
            break;
                
            default:
                    
            return DefWindowProc(hwnd,uMsg,wParam,lParam);
                }

                
            return 0;
            }



            感謝那些在我學(xué)習(xí)過程中給我指點(diǎn)和建議的人!

            posted on 2009-04-29 23:30 abilitytao 閱讀(3074) 評(píng)論(31)  編輯 收藏 引用

            評(píng)論

            # re: 走進(jìn)MFC的空間 2009-04-30 02:46 路人丁

            不好意思 這是windows API 不是MFC  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 08:54 brightcoder

            ...................  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 [未登錄] 2009-04-30 08:57 Peter

            同意樓上,這是C風(fēng)格的windows程序。
            建議看Jeff Prosise的《MFC Windows程序設(shè)計(jì) 第二版》,非常經(jīng)典,翻譯的也可以,。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 09:11 Linuxer

            確實(shí),這完全不是MFC,這是經(jīng)典的API式程序  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 09:44 shongbee2

            哦!恭喜您。進(jìn)入MFC。呵呵!我也是學(xué)孫鑫的。還可以。加油。不過樓上推薦的《MFC Windows程序設(shè)計(jì) 第二版》感覺比孫鑫的好。
            加油。。。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 09:47 kevin.c

            建議你跳過這些API例程,直接由MFC框架開始學(xué)習(xí),這些東西可以以后回來再看。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 09:51 dopoco

            不推薦學(xué)習(xí)MFC,推薦QT或wxWidgets
            QT你自己看一下就會(huì)知道,如果想學(xué)C++,你會(huì)被她打動(dòng)的;
            wxWidgets類似于MFC,但開放、跨平臺(tái),雖然現(xiàn)在不用跨平臺(tái),多一件利器,又比MFC簡單,何樂而不為呢;
            如果喜歡C,推薦GTK+和IUP(http://www.tecgraf.puc-rio.br/iup/)
            不過學(xué)點(diǎn)windows API 好處多多。
            祝您成功。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 10:55 茶亭量子

            學(xué)點(diǎn)API還是不錯(cuò)的,MFC的大部分功能都是對(duì)Windows API的封裝,看一下那些控件的源代碼就知道了,MFC是開放源代碼的。用QT做界面開發(fā)確實(shí)要比MFC簡單,但是需要QT的運(yùn)行庫,所以程序會(huì)變成比較大。還有一種是基于WTL的界面開發(fā),比較符合原始的程序開發(fā)方式,需要對(duì)模版有一定的理解。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 11:06 陳梓瀚(vczh)

            任何一件想保留C++精神的GUI庫,最終都會(huì)變得無敵難看以及難用的。不過學(xué)學(xué)MFC也沒啥不好,這個(gè)找工作容易些。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 12:31 __ay

            呵呵 個(gè)人比較推薦深入淺出MFC 侯老大的書 那個(gè)才叫MFC~學(xué)東西要升華到設(shè)計(jì)思想  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 12:42 abilitytao

            謝謝各位的指點(diǎn) 實(shí)在感激不盡
            不過由于我現(xiàn)在還處于學(xué)生階段 可能還只能按照學(xué)校擬定的大方向來學(xué)習(xí) 所以學(xué)完C++后 我覺得還是應(yīng)該先學(xué)MFC為好 至于QT或wxWidgets 如果有機(jī)會(huì)的話 一定會(huì)去看的 謝謝各位!
              回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 12:57 abilitytao

            @__ay
            那個(gè)我也看了下 感覺有點(diǎn)難。。。感覺還是等到有一定功力的時(shí)候再看比較合適  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 15:25 xcpp

            初學(xué)就不要學(xué)MFC了吧?直接用ATL/WTL不是更好?  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 15:39 lsc1011

            呵呵~!和你一樣鐘情MFC……  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 15:49 dopoco

            "任何一件想保留C++精神的GUI庫,最終都會(huì)變得無敵難看以及難用的。"
            沒覺得,倒是C++本身太過博大精深,如果過于關(guān)注C++本身的功能,到有可能走火入魔  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 16:02 鄧冬生

            @abilitytao
            你學(xué)校教MFC?
            你寫那個(gè)確實(shí)不是MFC程序,那本書我也看了。這個(gè)例子中只不過是引出MFC的  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 16:46 abilitytao

            @鄧冬生
            呵呵 沒錯(cuò)啊 我們上課教得也的確不是這個(gè)
            我們老師講的東西比較少 所以我基本上是線下自學(xué)了 昨天拿著孫鑫的書看了下
            于是寫出了上面這個(gè)程序 其實(shí)只是想初步了解一下可視化編程的概念 這個(gè)是引入 的確沒錯(cuò) 您看得很仔細(xì) 多謝~  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 20:00 duzhongwei

            MFC好難,至今不會(huì)  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 20:23 Bill Hsu

            不屑于會(huì)MFC。。。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 21:10 abilitytao

            @Bill Hsu
            何出此言?  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-04-30 23:54 空明流轉(zhuǎn)

            @陳梓瀚(vczh)
            只要你是靜態(tài)語言,且沒有反射,就會(huì)很難看。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-01 01:11 abilitytao

            @空明流轉(zhuǎn)
            做為初學(xué)者 請恕我無法理解您的意思。。。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-02 00:02 foxtail

            MFC學(xué)了也沒什么用了吧。呵呵!  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-02 00:06 abilitytao

            @foxtail
            為何?  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-02 15:01 zomoir

            MFC沒什么學(xué)的意義。。。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-03 08:44 彭小虎(Tigerkin)

            學(xué)學(xué)挺好,能用起來就行  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-04 08:52 tmp

            學(xué)了真沒什么用,以后你慢慢就明白了,多說無益,把編碼基本功和設(shè)計(jì)架構(gòu)熟練就不錯(cuò)了,多做做小東西  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-05 13:07 hoodlum1980

            case WM_LBUTTONDOWN:
            MessageBox(hwnd,"mouse clicked","message",0);
            HDC hdc;
            hdc=GetDC(hwnd);
            //ReleaseDC(hwnd,hdc);
            break;

            ~~~~~~~~~~~~~~~~~
            你在搞什么啊,拿到DC以后不釋放的呀你!!??而且什么都沒干。  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2009-05-06 00:12 abilitytao

            @hoodlum1980
            在下初學(xué) 還不能領(lǐng)會(huì)其中奧妙 希望您能多多指點(diǎn)  回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2010-07-13 10:11 路青飛

            真是拋磚引玉呀
              回復(fù)  更多評(píng)論   

            # re: 走進(jìn)MFC的空間 2013-02-25 09:55 dhy

            贊同,感興趣de話,學(xué)著玩吧  回復(fù)  更多評(píng)論   


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


            久久久久无码国产精品不卡| 亚洲va久久久噜噜噜久久狠狠| 国产69精品久久久久99| 亚洲精品高清一二区久久| 亚洲精品无码久久一线| 四虎国产精品免费久久5151| 亚洲国产精品无码久久九九| 久久99亚洲网美利坚合众国| 国内精品久久久久久久影视麻豆| 久久婷婷五月综合成人D啪| 国产精品青草久久久久婷婷| 日日狠狠久久偷偷色综合0| 精品国产福利久久久| 久久久久亚洲AV成人网人人网站| 久久综合综合久久97色| 中文字幕久久波多野结衣av| 久久涩综合| 91精品国产色综久久| 久久精品夜夜夜夜夜久久| 无码任你躁久久久久久老妇App| 99久久精品九九亚洲精品| 国产人久久人人人人爽| 久久热这里只有精品在线观看| 精品久久久久久国产牛牛app| 国产美女久久久| 久久人人妻人人爽人人爽| 无码8090精品久久一区| 久久久免费观成人影院| 久久99精品国产麻豆不卡| 日本福利片国产午夜久久| 韩国无遮挡三级久久| 69国产成人综合久久精品| 久久久久亚洲Av无码专| 伊人久久久AV老熟妇色| 少妇高潮惨叫久久久久久| 青草国产精品久久久久久| 久久午夜无码鲁丝片秋霞| 久久人人爽人人爽人人片AV不| 欧美日韩久久中文字幕| 伊人色综合久久天天人守人婷 | 大香伊人久久精品一区二区|