【MFC】固定按钮工具栏
00. 目錄
文章目錄
- 00. 目錄
- 01. 案例概述
- 02. 開發(fā)環(huán)境
- 03. 關鍵技術
- 04. 程序設計
- 05. 秘笈心法
- 06. 源碼下載
- 07. 附錄
01. 案例概述
通過MFC向導創(chuàng)建的應用程序,默認情況下工具欄是可以改變位置的,也就是說可以在父窗體上移動,但本實例創(chuàng)建了不能夠改變按鈕位置的工具欄。效果如下圖所示。
02. 開發(fā)環(huán)境
系統(tǒng)環(huán)境:Windows 10
開發(fā)環(huán)境:Visual Studio 2019
03. 關鍵技術
MFC向導創(chuàng)建的工具欄是使用CToolBar類的CreateEx方法實現(xiàn)的,該方法創(chuàng)建的工具欄其左側有條導航線,而且可以對工具欄進行拖動,要創(chuàng)建固定按鈕的工具欄需要使用CToolBar類的Create方法實現(xiàn)。
Create方法同CreateEx方法一樣都是用來創(chuàng)建工具欄的。具體語法如下:
BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, UINT nID = AFX_IDW_TOOLBAR );參數(shù)說明:pParentWnd:指定父窗體指針。dwStyle:指定工具欄樣式。nID:設置工具欄資源ID。04. 程序設計
(1)新建一個基于單文檔視圖結構的應用程序。
(2)向工程中添加ID屬性為IDB_BITMAP1的工具欄位圖。
(3)在CMainFrame類的OnCreate函數(shù)中創(chuàng)建工具欄,函數(shù)實現(xiàn)代碼如下:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;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("未能創(chuàng)建工具欄\n");return -1; // 未能創(chuàng)建}if (!m_wndStatusBar.Create(this)){TRACE0("未能創(chuàng)建狀態(tài)欄\n");return -1; // 未能創(chuàng)建}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. 秘笈心法
工具欄的創(chuàng)建方法
使用CToolBar類的CreateEx方法可以創(chuàng)建增強效果的工具欄,而Create方法可以快速的創(chuàng)建工具欄,使用Create方法只設置一個父窗體指針參數(shù)即可,但Create方法創(chuàng)建的工具欄樣式比較簡單。
06. 源碼下載
下載:【MFC】固定按鈕工具欄.rar
07. 附錄
參考: 《Visual C++從入門到精通(項目案例版)》
總結
以上是生活随笔為你收集整理的【MFC】固定按钮工具栏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【MFC】工具栏按钮多选效果本
- 下一篇: 【MFC】可调整按钮位置的工具栏