我在表单上有一个下拉列表样式CComboBox。这种样式的好处是可以预先输入-也就是说,您可以键入一个字符,它将跳到列表中与该字符匹配的第一项。但是,某些项目需要从此行为中排除。如何做到这一点?
最佳答案
就像一个简单的(也许是丑陋的)“技巧”想法一样:您可以用任何特殊字符(例如*
作为第一个字符)掩盖要从类型提前搜索中排除的项目吗? (因此,您将添加到ComboBox的*MyItemText
而不是MyItemText
。)如果需要对商品列表进行排序,则必须先关闭ComboBox的autosort属性,并自行进行排序(不使用*
),然后再将商品添加到组合框。用户还将认识到,这不是一个可以通过前面的类型找到的项目(如果有任何意义,或者应该在您的应用程序中有用)。
CComboBox没有任何Edit或TextChanged事件。因此,我的猜测是,对于另一个更好的解决方案,您必须努力研究并评估单个键盘事件,并通过项目列表自行进行搜索。我没有更好的主意。
关于c++ - 仅在前面的CComboBox类型中包括某些项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2321305/