当您在 Win32 中键入 ListBox 或 ListView 时,它将搜索以您键入的内容开头的字符串,然后选择该项目。有人知道确切的算法吗?我想在 WinUI ListView 中复制它。
我注意到的事情:
- 如果您按下一个字母,它将向下搜索以该字母开头的第一个元素。
- 如果您多次按下该字母,它将选择以该字母开头的下一个元素
- 但它也搜索前缀。如果您键入多个不同的字母,它将选择以该字符串开头的下一个元素。但是如果你在字母之间等待太久,它会开始一个新的字符串。
- 重复的字母优先于前缀。因此,如果您有
aa、ea、eb、ee,然后按ee,它将选择ea然后eb。 - 它似乎不区分大小写。我不知道它如何处理输入法。