1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      VC中如何創(chuàng)建多個工具條

      更新時間: 2007-05-11 17:02:52來源: 粵嵌教育瀏覽量:1019


        在實際的軟件開發(fā)中,我們常常需要創(chuàng)建多個自定義的工具條,并且要象標準的工具條那樣,允許用戶通過鼠標將自定義的工具條移動到框架的其它地方,還可以根據(jù)需要顯示或是隱藏該工具條。通過實踐,我們在Visual C++ 6.0中編程實現(xiàn)了創(chuàng)建自定義的工具條,從而在應(yīng)用程序中可并存多個工具條。

        1. 在Visual C++ 6.0中用AppWizard以默認方式創(chuàng)建SDI或MDI的應(yīng)用程序工程,工程名稱為MyBars。

        2. 在ResourceView中選擇“Toolbar”并點擊右鍵,通過選擇 “Insert Toolbar”新建一工具條,其ID值設(shè)為ID_MYTOOLBAR。在該工具條上添加兩個位圖按鈕,并雙擊每個位圖按鈕,設(shè)置其ID值分別為ID_MYTOOLBAR_CIRCLE和ID_MYTOOLBAR_RECT。

        3. 在MainFrame.h文件中CMainFrame類定義的前面定義一個映射工具條按鈕圖像和程序命令I(lǐng)D 的數(shù)組,這是一個UINT類型的數(shù)組:

        static UINT BASED_CODE My_Buttons[]=

        { // 要和工具條中位圖的次序一樣

        ID_TOOLBAR_CIRCLE,

        ID_TOOLBAR_RECT};

        4. 在CMainFrame類中添加一工具條對象指針m_pMyToolBar:

        class CMainFrame : public CFrameWnd

        {……

        protected:

      CStatusBar m_wndStatusBar;

      CToolBar  m_wndToolBar;

        CToolBar m_pMyToolBar;

        // 新添加的工具條對象指針

        ……}

        5.在CMainFrame::OnCreate函數(shù)中添加代碼創(chuàng)建和初始化工具條,并建立所需的連接關(guān)系,代碼如下:

         int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

         {   ……

        // 創(chuàng)建和初始化工具條對象

         m_pMyToolBar=new CToolBar();

      m_pMyToolBar-〉Create(this, WS_CHILD|WS_VISIBLE|CBRS_TOP, 0x9100);

        // 將按鈕圖象和工具條對象連接起來

      m_pMyToolBar-〉LoadBitmap(IDR_MYTOOLBAR);

        // 將映射數(shù)組My_Buttons和工具條對象連接起來

      m_pMyToolBar-〉SetButtons(My_Buttons, sizeof(My_Buttons)/sizeof(UINT));

        // 允許用戶通過鼠標將工具條移動到框架的其它地方

      m_pMyToolBar-〉EnableDocking(CBRS_ALIGN_ANY);

        EnableDocking(CBRS_ALIGN_ANY);

        DockControlBar(m_pMyToolBar);

      return 0; }

        6. 通過View-〉ClassWizard為工具條的按鈕ID值添加消息響應(yīng)處理函數(shù),例如為ID_TOOLBAR_CIRCLE添加的處理函數(shù)如下所示:

        void CMainFrame::OnToolbarCircle()

        {   AfxMessageBox("Circle"); // 可改為具體的有關(guān)代碼}

        這樣,我們就創(chuàng)建了一個新的工具條(如圖1),上面有兩個按鈕,點擊按鈕將會執(zhí)行有關(guān)的操作,并且用戶還可以將工具條任意拖動到框架的其它地方。

                                  圖1


        工具條建立之后,就被連接到應(yīng)用程序的框架窗口上,我們一般還要允許用戶根據(jù)需要顯示或隱藏該工具條。下面的代碼就可實現(xiàn)這種要求:

        int nShow=SW_SHOWNORMAL; // 想要隱藏則設(shè)置為SW_HIDE

        m_pMyToolBar-〉ShowWindow(nShow); // 顯示或隱藏工具條

        RecalcLayout(); // 通知框架窗口, 重新計算工具條的位置

        以上的程序在Visual C++ 6.0中調(diào)試通過。

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲第一影院中文字幕 | 婷婷色综合aⅴ视频 | 尤物精品国产第一福利网站 | 色久综合网精品一区二区 | 亚洲人成电影日本在线 | 中文字幕午夜乱理片 |