工控编程吧
标题: 上位机MFC如何在工具栏中添加组合框 [打印本页]
作者: qq263946146 时间: 2019-7-20 12:36
标题: 上位机MFC如何在工具栏中添加组合框
首先第一步肯定是准备一个组合框,可以事先添加些数据。比如定义一个组合框,再初始化
CComboBox m_ComboBox;
BOOL CMainFrame::CreateComboBox(UINT nID)
{
int nIndex = 0;
CRect rect;
//查找按钮
while (m_wndToolBar.GetItemID(nIndex) != nID)
{
nIndex++;
}
//为组合框创建一个空白区域
m_wndToolBar.SetButtonInfo(nIndex, nID, TBBS_SEPARATOR, 80);
//获得空白区域大小和位置
m_wndToolBar.GetItemRect(nIndex, &rect);
//组合框大小和位置
rect.top += 0;
rect.bottom += 200;
//在空白区域创建组合框
if (!m_ComboBox.Create(WS_CHILD | WS_VISIBLE | CBS_AUTOHSCROLL |
CBS_DROPDOWNLIST | CBS_HASSTRINGS, rect, &m_wndToolBar, nID))
{
TRACE0("Failed to create combo-box\n");
return FALSE;
}
//显示组合框
m_ComboBox.ShowWindow(SW_SHOW);
//在组合框中添加字符串
m_ComboBox.AddString("500%");
m_ComboBox.AddString("200%");
m_ComboBox.AddString("150%");
m_ComboBox.AddString("100%");
m_ComboBox.AddString("75%");
m_ComboBox.AddString("50%");
m_ComboBox.AddString("25%");
m_ComboBox.AddString("10%");
m_ComboBox.SetCurSel(3);
return TRUE;
}
组合框初始化时传递进去的是工具栏的一个按钮ID,就是在此ID上嵌入组合框
然后就 是在工具栏创建后,一并调用上面的函数
//创建组合框
if (!CreateComboBox(ID_COMBOBOX))
{
TRACE0("Failed to create combo box\n");
return -1;
}
这里提供一个实例
效果如图
(, 下载次数: 1)