日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【MFC】带图标的工具栏

發布時間:2024/4/24 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【MFC】带图标的工具栏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 案例概述
    • 02. 開發環境
    • 03. 關鍵技術
    • 04. 程序設計
    • 05. 秘笈心法
    • 06. 源碼下載
    • 07. 附錄

01. 案例概述

默認情況下,MFC中提供的工具欄只能顯示簡單的圖像。在實際開發過程中如何在工具欄中顯示自定義圖標呢?本案例實現了一個帶有圖標的工具欄按鈕,效果如下圖所示。

02. 開發環境

系統環境:Windows 10

開發環境:Visual Studio 2019

03. 關鍵技術

工具欄CToolBar提供了一個GetToolBarCtrl方法,用于獲得一個CToolBarCtrl對象,該對象提供了一個SetImageList方法用于設置工具欄關聯的圖像列表控件。只要在程序中創建一個圖像列表,并向圖像列表中添加圖標,將其與工具欄關聯,那么工具欄按鈕就會顯示圖像。

04. 程序設計

4.1 新建基于單文檔視圖結構的應用程序。

4.2 添加圖標資源,將圖標資源拷貝到項目所在的res目錄中,然后找到資源視圖,添加圖標資源。

4.2 在框架類中定義一個CImageList對象m_Imagelist。

private:CImageList m_ImageList;

4.3 在框架類的OnCreate方法中創建圖像列表,并向圖像列表中添加圖標。創建工具欄,將工具欄與圖像列表關聯。設置工具欄按鈕的大小。

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;//創建圖像列表,向圖像列表中添加圖標m_ImageList.Create(32, 32, ILC_COLOR24 | ILC_MASK, 0, 1);//添加一個或多個圖象到圖象列表中 for (int i = 0; i < 9; i++){m_ImageList.Add(AfxGetApp()->LoadIconW(IDI_ICON1 + i));}if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)){TRACE0("未能創建工具欄\n");return -1; // 未能創建}//設置工具欄圖像列表m_wndToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);//設置工具欄按鈕大小m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(40, 40));//設置工具欄按鈕圖像大小m_wndToolBar.GetToolBarCtrl().SetBitmapSize(CSize(30, 30));if (!m_wndStatusBar.Create(this)){TRACE0("未能創建狀態欄\n");return -1; // 未能創建}m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));// TODO: 如果不需要可停靠工具欄,則刪除這三行//設置工具欄停靠位置m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);//設置框架內對齊方式EnableDocking(CBRS_ALIGN_ANY);//將工具欄進行停靠DockControlBar(&m_wndToolBar);return 0; }

05. 秘笈心法

工具欄種類

工具欄分為帶圖標的工具欄、帶文字的工具欄和即帶圖標又帶文字的工具欄。帶圖標的工具欄通過圖標的演示作用很容易讓人記憶,所以使用起來非常方便,即帶圖標又帶文字的工具欄比只帶圖標的工具欄更加方便,單圖標下方的文字的數量有限,只能是起到提示作用的文本,主要還是依靠圖標的演示作用,而且需要結合提示條對工具欄按鈕進行提示。

06. 源碼下載

6.1 帶圖標的工具欄示例

下載:帶圖標的工具欄示例

07. 附錄

總結

以上是生活随笔為你收集整理的【MFC】带图标的工具栏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。