gpt4 book ai didi

user-interface - 通过输入前几个字符跳转到列表框项目

转载 作者:行者123 更新时间:2023-12-03 00:35:16 25 4
gpt4 key购买 nike

我有一个项目列表(可能很大),用户必须从中选择一个。我想允许用户输入所需项目的前几个字母,以跳转到列表中的正确位置。默认情况下,每次按键都会跳转到以该字母开头的第一个项目,因此您无法键入前几个字母。有什么简单的方法可以做到这一点吗?有 CodeProject 或其他类似的例子吗?

我已经查找了几个小时,并找到了任意数量的 IAutocomplete 示例,但这在这里没有帮助,因为我需要保证结果在列表中。

我能想到的唯一方法是从 CListBox 派生,自己捕获击键,找到该项目,运行计时器,以便在足够的暂停后新的击键将开始新的搜索......因为我是不是 MFC 运动员,这太令人畏惧了。非常感谢任何提示。

一个澄清的说明:我的最终目标实际上是为 DropDownList 样式的 ComboBox(即没有编辑框)获得此键盘行为。缺少编辑框排除了大多数自动完成代码,并且需要 ComboBox 功能意味着我无法单独使用 CListCtrl。

最佳答案

经过很多不必要的痛苦之后,我发现真正正确的答案就是使用 LBS_SORT。只需指定此样式,基本的普通列表框就支持我想要的增量搜索键盘快捷键样式。如果没有 LBS_SORT(或组合框的 CBS_SORT),您会得到令人恼火且几乎无用的仅跳转到第一个字母的行为。我没有尝试 LBS_SORT,因为我的列表内容无论如何都是按排序顺序添加的。

因此,研究自定义控件等的十几个小时都毫无意义,因为 Microsoft 文档在 LBS_SORT 的描述中没有提及这一重要的行为差异!!

感谢所有贡献者。

关于user-interface - 通过输入前几个字符跳转到列表框项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1308809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com