1、vc新建MFC基于文档的项目
2、资源编辑器中编辑工具条,新增一个工具项。
3、新增CToolBar派生类:CComboxToolBar
4、CComboxToolBar中新增共有成员
public
:
CComboBox m_wndZoom;
5、替换CMainFrm类中的类名CToolBar m_wndToolBar;
6、在CMainFrm的OnCreate函数中添加创建:
int
index = 0;
RECT rect;
//找到指定的工具项
while
(m_wndToolBar.GetItemID(index)!=ID_TOOL_ZOOM)
index++;
//设置指定工具项的宽度并获取新的区域 80是宽度
m_wndToolBar.SetButtonInfo(index, ID_TOOL_ZOOM, TBBS_SEPARATOR, 80);
m_wndToolBar.GetItemRect(index, &rect);
//设置位置
rect.top+=2;
rect.bottom += 200;
// 创建并显示控件
if
(!m_wndToolBar.m_wndZoom.Create(WS_CHILD|WS_VISIBLE| CBS_AUTOHSCROLL| CBS_DROPDOWNLIST | CBS_HASSTRINGS , rect,
&m_wndToolBar, ID_TOOL_ZOOM))
{
TRACE0(
"Failed to create combo-box\n"
);
return
FALSE;
}
m_wndToolBar.m_wndZoom.ShowWindow(SW_SHOW);
//填充内容
m_wndToolBar.m_wndZoom.AddString(
"123%"
);
m_wndToolBar.m_wndZoom.AddString(
"abc%"
);
m_wndToolBar.m_wndZoom.AddString(
"xyz"
);
//选择默认项
m_wndToolBar.m_wndZoom.SetCurSel(3);
7、资源中工具栏大小处理
8、MainFrm.cpp文件中,添加消息映射:ON_CBN_SELENDOK(ID_TOOL_ZOOM, OnSelectZoomed)。