VC++添加工具栏

时间:2022-12-12 06:24:23

VC添加工具栏

方法一:添加ICON图标

1. 新建一个基于对话框的项目:Test

2. 在类CTestDlg中, 添加两个变量:

    CToolBarCtrl m_ToolBar1;

    CImageList m_ImageList;

3.添加图标(例5个.icon图标)

4. 在#include "TestDlg.h"中 添加 #define ID_TOOLBAR1 1000

5. 在OnInitDialog()初始化:

 const int ARR_MAX = 5; 

 m_ImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 0);

 m_ToolBar1.EnableAutomation();

 m_ToolBar1.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, ID_TOOLBAR1);

 UINT Resource[ARR_MAX] = {IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4, IDI_ICON5};

 int i;

 TBBUTTON button[ARR_MAX];

 for(i = 0; i < ARR_MAX; i++)

 {

  m_ImageList.Add(::LoadIcon(::AfxGetResourceHandle(), MAKEINTRESOURCE(Resource[i])));

 }

 m_ToolBar1.SetImageList(&m_ImageList);

 for(i = 0; i < ARR_MAX; i++)

 {

  button[i].dwData = 0;

  button[i].fsState = TBSTATE_ENABLED;

  button[i].fsStyle = TBSTYLE_BUTTON;

  button[i].iBitmap = i;

 }

 m_ToolBar1.AddButtons(ARR_MAX, button);

 //TBBUTTON Wrap;//创建一个分隔条

 //Wrap.dwData = 0;

 //Wrap.fsState = TBSTATE_ENABLED;

 //Wrap.fsStyle = TBSTYLE_SEP;

 //m_ToolBar1.InsertButton(3, &Wrap);

 //m_ToolBar1.AutoSize();

 m_ToolBar1.SetStyle(TBSTYLE_FLAT | CCS_TOP);

 

——————————————————————————————————————

 

方法二:自己绘制的

1. 添加资源(一个IDR_TOOLBAR1)

2. 在类CTestDlg中, 添加变量:

CToolBar m_ToolBar;

3. 初始化中添加:

if(!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP) || !m_ToolBar.LoadToolBar(IDR_TOOLBAR1))

 {

  TRACE0("Failed to create toolbar!");

  return -1;

 }

 

 RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

 m_ToolBar.ShowWindow(SW_SHOW);