.h头文件定义变量和创建函数 OnCreateToolBar()
1>CComboBox m_TypeSelect;
2>CToolBar m_DlgMainToolBar
3>CImageList m_DlgToolBarIconList;//图标列表
4>afx_msg void OnCreateToolBar();
void CDoublePathWayReflowerControllerDlg::OnCreateToolBar()
{
GetClientRect(rcClientOld);
m_DlgToolBarIconList.Create(16, 16, TRUE | ILC_COLOR32, 20,6);
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICONCURVE)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICONCALIBRATION)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICONTEMALARM)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICONUSERLOGIN)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICONSOFTWAREREGISTER)));
/*m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON4)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON5)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON6)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON7)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON8)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON9)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON10)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON11)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON12)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON13)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON14)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON15)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON16)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON17)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON18)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON19)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON20)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON21)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON22)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON23)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON24)));
m_DlgToolBarIconList.Add(LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON25)));*/
/*if (!m_DlgMainToolBar.CreateEx(this,TBSTYLE_FLAT | TBSTYLE_WRAPABLE | TBSTYLE_ALTDRAG, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_ANY | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(0, 0, 0, 0)) || !m_DlgMainToolBar.LoadToolBar(IDR_TOOLBARMAINWINDOWN))*/
if (!m_DlgMainToolBar.CreateEx(this, TBSTYLE_TRANSPARENT | TBSTYLE_LIST /*| TBSTYLE_WRAPABLE | TBSTYLE_ALTDRAG*/,WS_CHILD | WS_VISIBLE| TBSTYLE_LIST | CBRS_ALIGN_ANY | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(5, 25, 5, 5))||!m_DlgMainToolBar.LoadToolBar(IDR_TOOLBARMAINWINDOWN))
{
TRACE0("未能成功创建工具栏!\n");
AfxMessageBox(_T("工具栏无法创建或创建失败!"), MB_ICONERROR | MB_ICONINFORMATION);
printf("OnCreateToolBar->工具栏栏创建失败!\n");
MessageBox(_T("OnCreateToolBar->工具栏栏创建失败\n!"), _T("信息提示!"), MB_OK | MB_OKCANCEL | MB_ICONINFORMATION);
}
m_DlgMainToolBar.ShowWindow(SW_SHOW);
if (m_DlgMainToolBar.GetSafeHwnd() != NULL)
{
m_DlgMainToolBar.GetToolBarCtrl().SetImageList(&m_DlgToolBarIconList);
m_DlgToolBarIconList.Detach();
//m_DlgMainToolBar.GetToolBarCtrl().SetHotImageList(&m_DlgToolBarIconList);
VERIFY(m_DlgMainToolBar.SetButtonText(0, _T("温度曲线 ")));
VERIFY(m_DlgMainToolBar.SetButtonText(1, _T("温度校准")));
VERIFY(m_DlgMainToolBar.SetButtonText(2, _T("温度报警")));
VERIFY(m_DlgMainToolBar.SetButtonText(3, _T("用户登录")));
VERIFY(m_DlgMainToolBar.SetButtonText(4, _T("软件注册")));
/*VERIFY(m_DlgMainToolBar.SetButtonText(3, _T("Close")));
VERIFY(m_DlgMainToolBar.SetButtonText(4, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(5, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(6, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(7, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(8, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(9, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(10, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(11, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(12, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(13, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(14, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(15, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(16, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(17, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(18, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(19, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(20, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(21, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(22, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(23, _T("Draw")));
VERIFY(m_DlgMainToolBar.SetButtonText(24, _T("Draw")));*/
nCount = m_DlgMainToolBar.GetCount();
for (int i = 0; i < nCount; i++)
{
m_DlgMainToolBar.SetButtonStyle(i, TBBS_BUTTON);
}
/*Create ComBox*/
int m_Index = 5;
int m_With = 125;
CRect m_Rect;
m_DlgMainToolBar.SetButtonInfo(m_Index, IDC_BUTTON_CONBOX, TBBS_SEPARATOR, m_With);
int m_height = 16;
m_DlgMainToolBar.GetItemRect(5, &m_Rect);
m_Rect.top = 0;
m_Rect.bottom = m_Rect.top + m_height;
m_TypeSelect.Create(WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_SORT | CBS_DROPDOWNLIST,
m_Rect, &m_DlgMainToolBar, 3000);
m_TypeSelect.AddString(_T(" item0 "));
m_TypeSelect.AddString(_T(" item1 "));
m_TypeSelect.AddString(_T(" item2 "));
m_TypeSelect.AddString(_T(" item3 "));
m_TypeSelect.AddString(_T(" item4 "));
m_TypeSelect.SetCurSel(4);
/*Create ComBox End*/
CRect temp;
m_DlgMainToolBar.SetBarStyle(CBRS_ALIGN_ANY | CBRS_TOOLTIPS | CBRS_GRIPPER | CBRS_FLYBY | CBRS_SIZE_DYNAMIC | BTNS_SHOWTEXT | CBRS_FLOATING );
m_DlgMainToolBar.GetItemRect(0, &temp);
m_DlgMainToolBar.GetToolBarCtrl().SetButtonSize(CSize(temp.Width(), temp.Height()));
m_DlgMainToolBar.SetSizes(CSize(temp.Width(), temp.Height()), CSize(16, 16));
m_DlgMainToolBar.ModifyStyle(0, BTNS_SHOWTEXT | TBSTYLE_EX_MULTICOLUMN | WS_CLIPCHILDREN | TBSTYLE_AUTOSIZE);
m_DlgMainToolBar.ModifyStyleEx(0, TRANSPARENT);
m_DlgMainToolBar.SetBorders(5, 25, 5, 5);
//rcClientNew.top=rcClientNew.top - 20;
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST,0, reposQuery, rcClientNew);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
}
}
参考文献:后期重绘慢慢更新