1、在resource.h中定义一个组合框ID
#define ID_MY_COMBOBOX 1032
2、在.rc资源文件中为工具栏添加一个ID为如上定义的BUTTON
IDR_MAINFRAME TOOLBAR 16, 15 BEGIN ...... BUTTON ID_MY_COMBOBOX ...... END
3、在MainFrm.h中定义一个组合框对象
protected: // 控件条嵌入成员 CStatusBar m_wndStatusBar; CToolBar m_wndToolBar; CComboBox m_wndComboBox; // 组合框对象
4、在MainFrm.h中定义一个用于创建组合框的函数声明
public: BOOL CreateComboBox();
5、在MainFrm.cpp中实现上面声明的函数
BOOL CMainFrame::CreateComboBox() { int nWidth = 200; // 组合框宽度 int nHeight = 200; // 组合框高度 int index = 0; while (m_wndToolBar.GetItemID(index) != ID_MY_COMBOBOX) index++; m_wndToolBar.SetButtonInfo(index, ID_MY_COMBOBOX, TBBS_SEPARATOR, nWidth); CRect rect; m_wndToolBar.GetItemRect(index, &rect); rect.bottom = rect.top + nHeight; BOOL rel = m_wndComboBox.Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_SORT|CBS_DROPDOWN, rect, &m_wndToolBar, ID_MY_COMBOBOX); if (!rel) { TRACE0("创建组合框失败!"); return FALSE; } return TRUE; }
6、在CMainFrame的OnCreate()函数中调用创建组合框函数
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { ...... if (!CreateComboBox()) { TRACE0("组合框创建失败!"); } return 0; }