在工具栏创建组合框

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;
}


 

原文地址:https://www.cnblogs.com/zcube/p/4194571.html