MFC如何实现CComboBox输入框输入内容,下拉列表框的内容随之动态改变

本文介绍在MFC框架下,如何通过消息处理函数OnCbnEditupdateCombo1实现实时更新组合框内容,涉及CBS_EDITUPDATE消息的使用,以及EN_CHANGE与EN_UPDATE消息的区别。
摘要由CSDN通过智能技术生成

//组合框ID: ID_COMBO1,关联变量m_Combo1;当前对话框类为TheDlg,配置文件路径m_Settingfile;
//步骤一:在类中定义关于该组合框的CBS_EDITUPDATE的消息处理函数
afx_msg void OnCbnEditupdateCombo1();
//步骤二:给该组合框添加关于CBS_EDITUPDATE消息的消息映射,如下:
ON_CBN_EDITUPDATE(IDC_COMBO1, &TheDlg::OnCbnEditupdateCombo1)
//下面就是这个消息处理函数的实现了
{
CString v_EditText="";//用来保存当前编辑框的字符串
int v_Index=-1;
m_Combo1.GetWindowText(v_EditText);
int num=m_Combo1.GetCount();
//清除当前下拉框中的内容
for(int i=0;i<num;++i)
m_Combo1.DeleteString(num-i-1);
for(int i=0;i<num;++i)
{
m_Combo1.InsertString(i,v_EditText);
v_Index=i;
}
if(v_Index!=-1)
m_Combo1.ShowDropDown(TRUE);
else
m_Combo1.ShowDropDown(FALSE);
}

EN_CHANGE和EN_UPDATE的区别:
EN_CHANGE: 当编辑框中的文本被修改,新的文本显示之 “后” 发送此消息
EN_UPDATE: 当编辑框中的文本被修改,新的文本显示之 “前” 发送此消息


————————————————
版权声明:本文为CSDN博主「networmrlc」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/networmrlc/article/details/102761859

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值