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

            kenlistian

            厚積薄發(fā). 勤為槳,思為帆

               :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理 ::
              73 隨筆 :: 4 文章 :: 22 評(píng)論 :: 0 Trackbacks
            wxWidgets框架例子。
            直接粘貼到vc中,運(yùn)行即可。當(dāng)然需要安裝好wxwidgets及其配置好lib和include設(shè)置。

            其解釋部分非常詳細(xì),基本上wxwidgets和mfc差不了多少,但是擴(kuò)充性和跨平臺(tái)性是大于mfc,同時(shí)
            也對(duì)熟悉ruby下的wxruby和wxpython是非常快速的。

            #include "wx/wx.h"

            // 定義應(yīng)用程序類(lèi)
            class MyApp : public wxApp
            {
            public:
                virtual bool OnInit();
            };

            // 定義主窗口類(lèi)
            class MyFrame : public wxFrame
            {
            public:
                // 主窗口類(lèi)的構(gòu)造函數(shù)
                MyFrame(const wxString& title);

                // 事件處理函數(shù)
                void OnQuit(wxCommandEvent& event);
                void OnAbout(wxCommandEvent& event);

            private:
                // 聲明事件表
                DECLARE_EVENT_TABLE()
            };

            // 有了這一行就可以使用 MyApp& wxGetApp()了
            DECLARE_APP(MyApp)

            // 告訴wxWidgets主應(yīng)用程序是哪個(gè)類(lèi)
            IMPLEMENT_APP(MyApp)

            bool MyApp::OnInit()
            {
                // 創(chuàng)建主窗口
                MyFrame *frame = new MyFrame(wxT("Minimal wxWidgets App"));

                // 顯示主窗口
                frame->Show(true);
                return true;
            }

            // MyFrame類(lèi)的事件表
            BEGIN_EVENT_TABLE(MyFrame, wxFrame)
                EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
                EVT_MENU(wxID_EXIT,  MyFrame::OnQuit)
            END_EVENT_TABLE()

            void MyFrame::OnAbout(wxCommandEvent& event)
            {
                wxString msg;
                msg.Printf(wxT("Hello and welcome to %s"),
                           wxVERSION_STRING);

                wxMessageBox(msg, wxT("About Minimal"),
                             wxOK | wxICON_INFORMATION, this);
            }

            void MyFrame::OnQuit(wxCommandEvent& event)
            {
                Close();
            }

            MyFrame::MyFrame(const wxString& title)
                   : wxFrame(NULL, wxID_ANY, title)
            {
                // 設(shè)置窗口圖標(biāo)
                //SetIcon(wxIcon(mondrian_xpm));

                // 創(chuàng)建菜單條
                wxMenu *fileMenu = new wxMenu;

                // 添加“關(guān)于”菜單項(xiàng)
                wxMenu *helpMenu = new wxMenu;
                helpMenu->Append(wxID_ABOUT, wxT("&About...\tF1"),
                                 wxT("Show about dialog"));

                fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt-X"),
                                 wxT("Quit this program"));

                // 將菜單項(xiàng)添加到菜單條中
                wxMenuBar *menuBar = new wxMenuBar();
                menuBar->Append(fileMenu, wxT("&File"));
                menuBar->Append(helpMenu, wxT("&Help"));

                // ...然后將菜單條放置在主窗口上
                SetMenuBar(menuBar);

                // 創(chuàng)建一個(gè)狀態(tài)條來(lái)讓一切更有趣些。
                CreateStatusBar(2);
                SetStatusText(wxT("歡迎使用wxWidgets!"));
            }



            注意的是:
            1.必須是windows框架而不是control程序框架
            2.通過(guò)向?qū)傻膕tdafx.h 可以通過(guò)project/set/ "c/c++"中選擇無(wú)編譯頭來(lái)去掉
            stdafx.h
            3.直接拷貝這些lib到工程設(shè)置
            wxmsw28d_aui.lib wxmsw28d_html.lib wxmsw28d_xrc.lib wxmsw28d_adv.lib wxmsw28d_core.lib wxbase28d_xml.lib wxbase28d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib
            kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib
            4.附加該lib的位置,或者把以上lib放置到vc6可以找到地方.
            5.如果報(bào)有LIBCD.lib重復(fù)定義,填到ignore lib中
            6.以上都是在vc6環(huán)境測(cè)試下通過(guò)。


            posted on 2008-06-03 22:54 kenlistian 閱讀(3107) 評(píng)論(1)  編輯 收藏 引用 所屬分類(lèi): wxwidgets

            評(píng)論

            # re: wxWidgets框架例子 2009-03-28 20:12 智慧機(jī)器
            "1.必須是windows框架而不是control程序框架"
            關(guān)于這一點(diǎn),可以使用console程序框架.使用console框架可以實(shí)現(xiàn)標(biāo)準(zhǔn)輸入輸出,方便調(diào)試.
            只要在main()中調(diào)用WinMain()就可以做到這一點(diǎn)了.  回復(fù)  更多評(píng)論
              

            国产精品久久久天天影视香蕉| 久久妇女高潮几次MBA| 久久久久久久久久久久中文字幕 | 国产精品无码久久综合| 亚洲精品无码久久不卡| 日批日出水久久亚洲精品tv| 99久久久久| 亚洲一本综合久久| 国产农村妇女毛片精品久久 | 久久国产精品一区二区| 国产人久久人人人人爽| 久久精品中文騷妇女内射| 久久99国产综合精品女同| AV无码久久久久不卡网站下载| 精品久久一区二区| 日韩一区二区久久久久久| 国产精品一区二区久久精品无码 | 狠狠精品干练久久久无码中文字幕 | 国产V综合V亚洲欧美久久| 成人久久精品一区二区三区| 国产精品一区二区久久不卡| 国产精品久久精品| 久久av免费天堂小草播放| 亚洲国产成人精品91久久久| 国产精品久久久久蜜芽| 久久精品中文无码资源站 | 色综合合久久天天给综看| 99精品国产99久久久久久97| 久久久亚洲欧洲日产国码aⅴ| 久久精品国产亚洲av高清漫画 | 久久午夜伦鲁片免费无码| 亚洲国产成人久久综合一| 国产精品久久久久a影院| 2021少妇久久久久久久久久| 国产亚洲精午夜久久久久久| 思思久久99热只有频精品66| 蜜桃麻豆www久久| 久久妇女高潮几次MBA| 精品国产婷婷久久久| 久久久久久久久无码精品亚洲日韩| 99久久无码一区人妻|