用于组合框的SetWindowText

时间:2015-07-30 08:48:11

标签: winapi visual-c++ combobox mfc

我想设置组合框列表中不存在的组合框文本。 例如,如果组合框有3个项目:

  1. 苹果
  2. 香蕉
  3. 我正在进行组合框的选择更改事件。

    ON_CBN_SELCHANGE(IDC_COMBO, OnComboClick)
    
    void CmmAcceptCtrl::OnComboClick()
    {
        CString str;
        m_combo.GetLBText(m_combo.GetCurSel(), str);
    
        str += " Test";    
    
        m_combo.SetWindowText(str);
    }
    

    现在,如果我选择" orange"我希望组合框的文字成为"橙色测试"但文字没有改变,我得到"橙"尽管我正在做SetWindowText

    我们是否可以使用与从组合框列表中选择的文本不同的文字?

1 个答案:

答案 0 :(得分:0)

这有点晚了,但我带着同样的问题来到这里然后找到了一个技巧......

在ON_CBN_SELCHANGE处理程序中,您可以发布一条带有

的消息
PostMessage( WM_COMMAND, ID_AddTestToMyComboText)

并在处理程序中使用SetWindowText。