我有一个组合框,我想在Combo中选择一个项目时显示不同的字符串.
我的组合框是一个下拉组合框.
例如:我在我的组合框中有以下内容.
亚历克斯 - 经理
雨 - 项目负责人
Shiney - 工程师
Meera - 高级工程师
On在Combobox中选择一个项目我想只是名字,即Alex.
我试过下面的代码
struct details{
CString name;
CString des;
};
BOOL CComboTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
details d1;
d1.name = _T("alex");
d1.des =_T("manager");
m_vec.push_back(d1);
details d2;
d2.name = _T("Rain");
d2.des =_T("Engineer");
m_vec.push_back(d2);
// TODO: Add extra initialization here
for(int i=0;i<m_vec.size();i++)
{
m_ctrlCombo.AddString(m_vec[i].name+m_vec[i].des);
m_ctrlCombo.SetItemData(i,(DWORD_PTR)&m_vec[i]);
}
m_ctrlCombo.SelectString(-1,m_vec[0].name);
m_ctrlCombo.SetWindowText(m_vec[0].name);
return TRUE; // return TRUE unless you set the focus to a control
}
void CComboTestDlg::OnCbnSelchangeCombo1()
{
int nItem = m_ctrlCombo.GetCurSel();
details* …Run Code Online (Sandbox Code Playgroud)