【译文】雷蒙德-陈:经典 Win32 ListView 如何处理增量搜索?
经典的 Win32 ListView 支持增量搜索:您可以开始键入一个项目的名称来搜索它。但要比这复杂一些。
要知道,人们期望的键入到搜索的工作方式不止一种。在一种模式中,你输入想要的东西的第一个字母,系统就会找到以该字母开头的第一个项目。如果这不是你想要的,你再按一次相同的字母,系统就会找到以该字母开头的第二个项目。继续按同一个字母,直到找到你想要的项目。这就是 Windows 1.0 中列表框搜索的工作方式。
另一种模式是键入所需内容的第一个字母,系统就会找到以该字母开头的第一个项目。如果这不是你想要的,那么键入你想要的东西的第二个字母,系统就会找到前两个字母与你键入的字母相匹配的第一个项目。不断输入更多字母,直到找到你想要的项目。
经典的 Win32 ListView 控件应使用哪种模式?
如果您反复键入相同的字母,那么经典 Win32 ListView 会认为您使用的是第一种模式,而且每次您再次按下相同的字母时,它都会选择以该字母开头的下一个项目。但是,如果您键入的是不同的字母,那么经典的 Win32 ListView 会认为您键入的是前缀,并选择以该前缀开头的第一个项目。
例如,假设您有一个包含以下项目的 ListView:
- Cougar
- Leopard
- Lemur
- Lion
- Llama
- Tiger
输入 “L”,就会选择列表中第一个以 “L “开头的动物 “Leopard“。
由于现在是两个 L,Win32 ListView 处于 “重复字母 “模式,它选择了第二个 L 动物,即Lemur。
现在输入 A。这不再是同一个字母的重复,因此 Win32 ListView 切换到 “前缀 “模式,并选择第一个以 “LLA “开头的项目,即 Llama。
本文文字及图片出自 How does the classic Win32 ListView handle incremental searching?
你也许感兴趣的:
- 具有魔法的 H.264
- 多用户环境中的 rootless Docker
- 【外评】微软的人工智能聊天机器人将 “回忆 “您在其新 PC 上所做的一切
- 【外评】苹果需要解释重新出现已删除照片的错误
- 你需要知道的现代 CSS 技巧(2024 年春季版)
- 使用 :has() 作为 CSS 父选择器及其他更多内容
- 【外评】大科技公司致欧盟:“去死”
- npm又被滥用,灰产用《庆余年2》盗版资源——把开源公共基础设施的羊毛薅秃了
- 【外评】如果您没有在 Edge 中使用必应,微软现在会说您的电脑需要 “修复”
- Chrome 浏览器开发工具(DevTools)现在使用双子座(Gemini )来帮助处理控制台中的 JavaScript 错误
你对本文的反应是: