我在表单上有一个下拉列表样式的CComboBox。关于这种风格的好处是它允许提前输入 - 也就是说,你可以输入一个字符,它将跳转到匹配该字符的列表中的第一项。但是,某些项目需要从此行为中排除。怎么可以实现呢?
答案 0 :(得分:1)
就像一个简单的(也可能是丑陋的)“技巧”想法:你可以屏蔽你想要从任何特殊字符中排除类型的项目,例如*
作为第一个字符吗? (因此,您将添加到ComboBox *MyItemText
而不是MyItemText
。)如果需要对项目列表进行排序,则必须关闭ComboBox的autosort属性并进行自己的排序(不使用{ {1}})在将项添加到ComboBox之前。用户还会认识到这是一个不能通过提前输入找到的项目(如果这对您的应用程序有意义或应该有用)。
CComboBox没有任何Edit或TextChanged事件。所以我的猜测是,对于另一个更好的解决方案,你必须努力工作并评估单个键盘事件并在项目列表中运行自己的搜索。我没有更好的主意。