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

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

            走進MFC的空間

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

            #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;
            }



            感謝那些在我學習過程中給我指點和建議的人!

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

            評論

            # re: 走進MFC的空間 2009-04-30 02:46 路人丁

            不好意思 這是windows API 不是MFC  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 08:54 brightcoder

            ...................  回復  更多評論   

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

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

            # re: 走進MFC的空間 2009-04-30 09:11 Linuxer

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

            # re: 走進MFC的空間 2009-04-30 09:44 shongbee2

            哦!恭喜您。進入MFC。呵呵!我也是學孫鑫的。還可以。加油。不過樓上推薦的《MFC Windows程序設計 第二版》感覺比孫鑫的好。
            加油。。。  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 09:47 kevin.c

            建議你跳過這些API例程,直接由MFC框架開始學習,這些東西可以以后回來再看。  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 09:51 dopoco

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

            # re: 走進MFC的空間 2009-04-30 10:55 茶亭量子

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

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

            任何一件想保留C++精神的GUI庫,最終都會變得無敵難看以及難用的。不過學學MFC也沒啥不好,這個找工作容易些。  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 12:31 __ay

            呵呵 個人比較推薦深入淺出MFC 侯老大的書 那個才叫MFC~學東西要升華到設計思想  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 12:42 abilitytao

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

            # re: 走進MFC的空間 2009-04-30 12:57 abilitytao

            @__ay
            那個我也看了下 感覺有點難。。。感覺還是等到有一定功力的時候再看比較合適  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 15:25 xcpp

            初學就不要學MFC了吧?直接用ATL/WTL不是更好?  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 15:39 lsc1011

            呵呵~!和你一樣鐘情MFC……  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 15:49 dopoco

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

            # re: 走進MFC的空間 2009-04-30 16:02 鄧冬生

            @abilitytao
            你學校教MFC?
            你寫那個確實不是MFC程序,那本書我也看了。這個例子中只不過是引出MFC的  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 16:46 abilitytao

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

            # re: 走進MFC的空間 2009-04-30 20:00 duzhongwei

            MFC好難,至今不會  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 20:23 Bill Hsu

            不屑于會MFC。。。  回復  更多評論   

            # re: 走進MFC的空間 2009-04-30 21:10 abilitytao

            @Bill Hsu
            何出此言?  回復  更多評論   

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

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

            # re: 走進MFC的空間 2009-05-01 01:11 abilitytao

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

            # re: 走進MFC的空間 2009-05-02 00:02 foxtail

            MFC學了也沒什么用了吧。呵呵!  回復  更多評論   

            # re: 走進MFC的空間 2009-05-02 00:06 abilitytao

            @foxtail
            為何?  回復  更多評論   

            # re: 走進MFC的空間 2009-05-02 15:01 zomoir

            MFC沒什么學的意義。。。  回復  更多評論   

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

            學學挺好,能用起來就行  回復  更多評論   

            # re: 走進MFC的空間 2009-05-04 08:52 tmp

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

            # re: 走進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以后不釋放的呀你!!??而且什么都沒干。  回復  更多評論   

            # re: 走進MFC的空間 2009-05-06 00:12 abilitytao

            @hoodlum1980
            在下初學 還不能領(lǐng)會其中奧妙 希望您能多多指點  回復  更多評論   

            # re: 走進MFC的空間 2010-07-13 10:11 路青飛

            真是拋磚引玉呀
              回復  更多評論   

            # re: 走進MFC的空間 2013-02-25 09:55 dhy

            贊同,感興趣de話,學著玩吧  回復  更多評論   

            久久精品无码一区二区WWW| 一本大道加勒比久久综合| 91久久精品视频| 精品久久久久久久久午夜福利| 亚洲国产成人久久笫一页| 久久精品国产亚洲一区二区三区| 国产精品久久久天天影视| 久久超乳爆乳中文字幕| 国内精品人妻无码久久久影院| 一本一本久久aa综合精品| 久久久久亚洲AV无码永不| 国产精品一区二区久久不卡| 久久国产精品99久久久久久老狼 | 老色鬼久久亚洲AV综合| 婷婷五月深深久久精品| 成人国内精品久久久久影院| 亚洲国产精品久久久久网站| 成人亚洲欧美久久久久| 久久乐国产综合亚洲精品| 一本色道久久88精品综合| 99久久超碰中文字幕伊人| 蜜桃麻豆www久久| 少妇久久久久久被弄到高潮| 亚洲中文字幕无码久久2017| 久久99精品国产自在现线小黄鸭| 国内精品伊人久久久久影院对白| 久久久国产视频| 亚洲一本综合久久| 久久99精品久久久大学生| 欧美亚洲国产精品久久蜜芽| 久久久久久国产a免费观看黄色大片 | 久久精品无码免费不卡| 日日噜噜夜夜狠狠久久丁香五月 | 久久久久一级精品亚洲国产成人综合AV区 | 99久久99久久精品国产片果冻| 久久久噜噜噜久久熟女AA片| 久久免费视频一区| 91精品国产高清久久久久久91| 精品久久久久久国产| 久久久久久A亚洲欧洲AV冫| 97精品久久天干天天天按摩|