小编use*_*566的帖子

在Combobox中选择项目时显示格式化文本

我有一个组合框,我想在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)

c++ mfc

1
推荐指数
1
解决办法
406
查看次数

标签 统计

c++ ×1

mfc ×1