程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 一步步制作真彩工具條

一步步制作真彩工具條

編輯:vc教程

  例子程序最終效果圖:

  一直在尋找制作一個 24bit 及以上真彩工具條的簡單有效方法,在各種VC站點都找到了很多有關這方面的文章和介紹,但是都存在一個不足的地方,介紹的不夠詳細,對初學者來說有點難度。最近終於有所發現,因此在這裡將自己在制作真彩工具條方面的小經驗介紹給大家,以期拋磚引玉。

  在這裡將介紹兩個重點的內容,一個是制作真彩工具條的圖形工具 Visual toolbar,另一個是在程序中顯示工具條的類CtrueColorToolBar。有了這兩個利器,幾乎能夠非常簡單快速的制作任何真彩工具條。呵呵。 

  1、Visual Toolbar工具

  Visual Toolbar 是一個工具條制作工具,也是目前唯一的這樣的小工具,幾乎是一直夢寐以求的超級好用的小工具。呵呵,當我第一次拿到這個東西的時候,只有一個感慨“太實用了!”。

  不知道大家以往作工具條的時候是怎樣的,反正本人覺得很繁瑣,程序員又不是美工,可是為了界面的pp,只好硬著頭皮上了,不可能自己畫那些圖標,那就采用現成的吧,於是只能上網找一些好看得xp圖標,然後用 photoshop 拼啊拼得,一不小心就得從來,費時費力。不知道別人都怎麼做的,反正搜索了所有的制作真彩工具條的文章,都沒有發現作者提供這樣的信息或者方法。每次都很納悶,當然也有一些作者提供了用ico圖標作工具條的方法,不夠相比這個有點復雜了。界面非常簡單,一看就能夠理解和動手操作。只需要加入圖標就能夠生成。如圖所示:   簡單吧,把你找到的一些pp的圖標一個個加進去吧,就能自動合並成一個真彩工具條位圖,而且還可以再拆分,重新組合,前後位置也可以從新排列。呵呵,不到一分鐘,一個pp的bmp位圖就完成了。而且還能同時生成normal圖,hot圖,和disable圖。 有了這些位圖,真彩工具條就算搞定了一半了。  2、CtrueColorToolBar類   CtrueColorToolBar 類是一個專門加載真彩位圖制作 toolbar 的很實用的類。

  這個類的下載地址是:http://www.codeproject.com/docking/TrueColorToolBar.asp

  確實不錯,用這個類配合上面的工具,是一個很不錯的組合。下面就用一個例子一步步來實現吧。系統 windwos2000+VC 6.0 + sp5。假設用 Visual toolbar 制作好的工具條如圖:

  • (1) 先建立一個基於MFC的SDI標准程序,沒啥好說的,一路默認吧。
  • (2) 這個時候程序會默認生成一個工具條,如圖:

      先這樣放著吧,不理會。

  • (3)將CtrueColorToolBar類的兩個文件拷貝到程序的目錄下,並且在FileView中右鍵單擊項目,加入CtrueColorToolBar類的兩個文件,如圖:

      將這兩個文件導入進去。然後從新編譯一下程序,這時候會發現多了一個CtrueColorToolBar類,這就是了。

  • (4) 下面將我們准備好的工具條位圖加入到程序中吧,Visual Toolbar能同時生成normal位圖和diable位圖,假設如下面的所示:

      一個是normal圖形,一個是disable圖形:

      

      Normal 位圖

      Disable 位圖

      先將這兩個位圖文件拷貝到程序的 res 目錄下面,然後在 ResourceView 中單擊右鍵,用 Import 導入這兩個位圖,程序會自動生成兩個ID號,當然你可以修改ID為IDB_NORMAL和IDB_DISABLE。可以發現,這個例子想要的是7個 48×48 拼成的工具條。這個時候將用到系統自動生成的工具條了。

  • (5)找到 toolbar 資源下的 IDR_MAINFRAME 我需要的只是7個工具條按鈕,這裡多了幾個,刪除多余的吧。由於我們現在需要增加的是一個48×48的大小的按鈕,所以還得修改按鈕大小。雙擊其中任何一個按鈕,修改大小為: 而每個按鈕都默認了ID和操作,所以暫時先不管了。
  • (6)找到程序的CmainFrame框架類的成員變量m_wndToolBar,這東西就是工具條變量了,系統默認的是Ctoolbar類,將Ctoolbar修改成CtrueColorToolBar即可。 在程序的引用CtrueColorToolBar類的文件中包含其頭文件,本例子是文件MainFrm.h的開頭,增加一句:
    #include "TrueColorToolBar.h"
    然後找到程序CmainFrame框架類的操作方法OnCreate函數。這裡可是產生工具條的地方。增加這樣一條語句:
    m_wndToolBar.LoadTrueColorToolBar( 48, IDB_NORMAL, IDB_NORMAL, IDB_DISABLED);
    3個參數分別代表的意義是:48表示工具條按鈕大小是48×48,第二個是normal工具條位圖ID,第三個是hot工具條位圖ID,最後一個是disable工具條位圖ID。 增加的位置你參考例子代碼。 現在可以編譯運行了,怎麼用,真彩工具條出來了吧。
  • (7)最後,你可以和一般程序一樣,對系統產生的toolbar資源下的IDR_MAINFRAME工具條的按鈕進行設置,編寫相應的響應函數即可。例子程序中還有兩個位圖也添加到資源中了,你可以修改上面m_wndToolBar.LoadTrueColorToolBar函數中後3個參數看看效果,就知道了。
3、說明

  本文很詳細的介紹了制作真彩工具條的方法,並推薦了兩個工具。個人感覺這種方法比較快速簡單。希望能夠給初學者提供一些幫助,也希望能夠拋磚引玉得到其它好的方法。

本文示例代碼或素材下載

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved