首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

手把手教你打造 24 位真彩工具列:Visual Toolbar + CTrueColorToolBar 實戰全紀錄

     編輯:VC 教學

一直以來,想在 VC++ 專案中實現像 Office、Visual Studio 那樣擁有 24 位真彩色 (True Color) 工具列,對許多開發者來說都是個棘手的難題。網路上雖有相關文章,但多語焉不詳,初學者難以上手。本文將分享一套「神兵利器」組合——Visual Toolbar 圖形化製作工具 與 CTrueColorToolBar 載入類別,帶你幾分鐘內輕鬆搞定專業級真彩工具列。

一、 成果展示:這就是我們要做的效果

二、 利器一:Visual Toolbar —— 專為程式設計師打造的圖標整合神器

過去做工具列位圖,程式設計師往往要硬著頭皮用 Photoshop 一張張拼貼 16x16 或 24x24 的小圖標,對齊、調色、生成 disabled 狀態圖……稍有不慎就得重來,極其繁瑣。Visual Toolbar 的出現徹底改變了這一切:

  • 所見即所得: 介面極簡,拖拉圖標即可自動合併生成完整工具列位圖 (BMP)。
  • 一鍵三生: 同時自動生成 Normal (正常)、Hot (滑過)、Disabled (失效) 三種狀態位圖。
  • 靈活編輯: 支援圖標拆分、重組、拖曳排序,想調整順序隨時搞定。

不到一分鐘,一組專業的 48x48 高解析度真彩工具列素材就新鮮出爐了。

三、 利器二:CTrueColorToolBar —— 真彩位圖載入的核心引擎

有了素材,還得靠代碼載入。CTrueColorToolBar 類別 (來源: CodeProject) 專門解決 MFC 預設僅支援 16 色工具列的限制,完美支援 24/32 位真彩色圖像列表。

四、 實戰演練:一步步整合到你的 SDI 專案中

環境: Windows 2000 + VC 6.0 SP5

  1. 建立基礎專案: AppWizard 建立標準 MFC SDI 專案,一路預設。
  2. 引入核心類別: 將 TrueColorToolBar.h/.cpp 複製到專案目錄,並在 FileView 中加入專案。於 MainFrm.h 頂部引入標頭檔:
    #include "TrueColorToolBar.h"
  3. 替換工具列類別: 在 MainFrm.h 中,將 CToolBar m_wndToolBar; 修改為 CTrueColorToolBar m_wndToolBar;。
  4. 匯入位圖資源: 將 Visual Toolbar 產出的 Normal.bmp、Hot.bmp、Disabled.bmp 複製至 res 目錄,並在 ResourceView 中 Import 為位圖資源,ID 分別設為 IDB_NORMAL、IDB_HOT、IDB_DISABLED。
  5. 調整工具列資源按鈕尺寸: 開啟 IDR_MAINFRAME 工具列資源,刪除多餘按鈕,雙擊按鈕將尺寸修改為 48x48 (對應素材尺寸)。
  6. 核心代碼:載入真彩工具列 在 CMainFrame::OnCreate 中,於工具列建立後調用:
    // 參數:按鈕尺寸(寬=高=48), Normal圖ID, Hot圖ID, Disabled圖ID
    m_wndToolBar.LoadTrueColorToolBar(48, IDB_NORMAL, IDB_HOT, IDB_DISABLED);
  7. 編譯執行: 大功告成!現在你擁有了媲美商業軟體的真彩工具列。

五、 進階提示

後續只需像操作普通 CToolBar 一樣,透過資源編輯器設定按鈕 ID、提示文字,並在類別精靈中添加命令處理函數即可。本文附帶完整範例代碼,歡迎下載研究。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved