幫工具欄換位圖:
一般新建的工具欄上的按鈕都是經過自己畫圖的,今天自己仿另一個系統做,無意中發現不用自己畫圖也行.最后我按下面的步驟做成功了!
新建一個基于對話框的工程;
(1)我加載的工具欄有十個64*42的按鈕,所以對話要事先拉得比工具欄寬!
(2)插入一個工具欄,初始ID為IDR_TOOLBAR1;然后在上面加十個64*42的按鈕,我加載的位圖是 640*42的,這個可以算出來吧!
(3)在C**Dlg類添加一個CToolBar變量m_ToolBar;再在這個類添加OnInitDialog()函數,在這函數里添加如下代碼加載工具條到對話框!
if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_ToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
m_ToolBar.ShowWindow(SW_SHOW);
然后編譯運行!
(4)右擊你的工具欄點屬性,看到文件名的內容是:res\toolbar1.bmp;這下你也自然想到工程下的res文件夾了吧,將你要加入的圖片改名為toolbar1.bmp復制到res文件下去覆蓋原來的toolbar1.bmp;這時VC會彈出一個對話框說"........\toolbar1.bmp這個文件已在Microsoft Developer Studio之外補修改,你要重新載入它嗎?"
你按"是"就行了!

這時你編輯的工具欄相應會有變化的了!
(5)編譯運行后是還不行的,那時我把我工具欄的左數第一個按鈕改了ID再編譯運行就OK了!
這個順序不能倒啊,呵呵!因為toolbar1.bmp原先不存在的,編譯運行時它會自己生成的,但我們生成后再去覆蓋就不一樣了!
以下是我做成功的界面和用到的toolbar1.bmp圖(因為不能上傳bmp格式,我把后綴改成jpg才上傳了)


緊作筆記之用,如果覺得這個簡單勿嘲笑!