天天看點

VC制作特色工具欄清晰思路 。。。不再糾結

相信使用過VC的人都深有感觸VC那個惡心的工具欄 ,我們想要在對話框上添加自己的工具欄但是卻發現 網上很多例子都寫的含糊不清 今天我就給大家

寫一個VC特色工具欄

VC 的個性工具欄的制作離不開三個類    CToolBar    CToolBarCtrl   CImageList   

1.  CToolBar工具條類   操作工具條的類  而不是工具條上面的按鈕     

    CToolBarCtrl  這個是鑲嵌在工具條上面的按鈕的類    CToolBar::GetToolBarCtrl()函數傳回CToolBarCtrl的引用 進而我們可以來操作工具條上面的按鈕  

     CImageList 這個類大家留心下會發現 很多地方都見過  CListCtrl  CTreeCtrl  都見過 我以前也是不知道怎麼用是以 很糾結 。。。下面就介紹這個類的用法

     下面看步驟 首先定義一個CToolBar  對象

     CToolBar  m_wndToolBar;  //CMyDlg  成員函數

     m_wndToolBar.CreateEx( this,TBSTYLE_FLAT ,  WS_CHILD | WS_VISIBLE | CBRS_ALIGN_LEFT | CBRS_GRIPPER | CBRS_TOOLTIPS,CRect(4,4,0,0));//建立工具欄

     m_wndToolBar.LoadToolBar(IDR_TOOLBAR1) ;    //加載工具欄資源  我們自己要新增加一個ToolBar 資源

     CImageList   *list=new CImageList;  //這裡我就定義指針 不過會導緻記憶體洩露最好是定義為 類成員變量

     list.Create(20,20,ILC_COLOR8,0,4);  //首先要建立圖像清單 好幾種重載函數 具體看MSDN 

     list.Add(...)  //增加位圖 圖示 等等 N個重載函數   這是想圖像清單中增加一個位圖 

     m_wmdToolBar.SetImageList(list);

     RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);  //停靠工具欄   

   基于對話框的特色工具欄的具體步驟就這些剩下的就要自己擴充了    理清思路 就不糾結了希望能幫助 和我一樣的新手