我有一个带有CComboBox的DropList样式的对话框。我希望它在以下情况下调用我的函数(例如LoadData()):
但当用户仍然在第2#中输入文本时,情况就不是这样了。
在LoadData()处理程序中调用ON_CBN_SELCHANGE对#1很好,但是对于#2,这个事件会在每次击键时触发,而不仅仅是在enter时触发。换句话说,如果我有组合框项目:
1
12
123我输入12,它将触发ON_CBN_SELCHANGE一次用于1,一次用于12 .但实际上,我正在尝试键入123,所以我不希望前两个击键导致LoadData()调用。
实现这一点的正确方法是什么?
发布于 2019-07-14 10:36:31
关于你问题中的评论,以下是答案:

CBN_SELENDOK (如果愿意,可以调整方法名称):

void CMFCApplication1Dlg::OnCbnSelendokCombo1()
{
// TODO: Add your control notification handler code here
}现在,您可以按需要进行操作。
替代方案

CBN_SELENDOK,单击下拉箭头并选择添加处理程序的选项:

https://stackoverflow.com/questions/56987421
复制相似问题