【待归纳】关于MFC combobox下拉框 下拉选择后立即获取控件值的事件处理

需求:下拉框点击某个值后自动根据这个值的内容触发操作

问题:常规的使用onSelectChange事件和m_combo.GetWindowText()并不能获取到选中时候的值,如果第一次选择某一项往往获取的值为空或者默认值

解决办法:下拉框选择后值更新的比较慢,但是索引值是更新了的,所以需要使用combo的GetLBText方法,通过索引值去获取选中的值

void GetLBText( int nIndex, CString &rString ). 
参数说明:nIndex为列表框中数据的索引值, rString 为字符串, 
函数说明:把索引号为nIndex的数据放到rString变量中. 与其对应的GetLBTextLen(int nIndex)函数就是得到索引号为nIndex中数据的长度。

void CBasicInfoMaterial::OnSelchangeComboMaterial0()
{
    CString s_linkMaterial;    
    m_combo_material_0.GetLBText(m_combo_material_0.GetCurSel(), s_linkMaterial);
    if(s_linkMaterial=="xx")
    {
        //触发操作
    }
}

 

你可能感兴趣的:(MFC学习总结)