通常,工具条上只支持按钮控件。但是任何的控件都可以动态的创建,故而可以动态的在工具条上创建ComboBox。在工具条上创建ComboBox控件之前,需要调用CToolBar::SetButtonInfo()函数将要被用来创建成ComboBox的按钮设置成分割器。
首先在CMainFrame类中定义一个ComboBox变量:
CComboBox m_wndComboBox;
然后在CMainFrame类的OnCreate()函数中开始动态创建该控件:
m_wndColorBar.SetButtonInfo(2,ID_BUTTON_BLUE,TBBS_SEPARATOR,150);//将工具条上的第3个按钮设置成宽150的分割器
m_wndColorBar.GetItemRect(2,rect);//获得该分割器的大小
rect.bottom=rect.top+150;
//调用CComboBox的成员函数Create()创建ComboBox控件,父窗口参数指向工具条
if(!m_wndComboBox.Create(WS_CHILD | CBS_DROPDOWN | CBS_AUTOHSCROLL
| WS_VSCROLL | CBS_HASSTRINGS,rect,&m_wndColorBar,ID_BUTTON_BLUE))
{
return -1;
}
m_wndComboBox.ShowWindow(SW_SHOW);//显示所创建的ComboBox控件
m_wndComboBox.AddString("One");//给控件加入一些条目
m_wndComboBox.AddString("Two");
m_wndComboBox.AddString("Three");
OK!