【发布时间】:2019-03-06 15:32:22
【问题描述】:
我尝试在 TVirtualStringTree 中进行增量搜索,发现它总是使用单个字符搜索字符串。当您按下一个键时,它会立即开始搜索,而无需等待第二个键,而第二个键又会成为下一次搜索的单个搜索字符串。这是正常行为吗?是否可以轻松更改(无需创建计时器线程)?
【问题讨论】:
-
请显示代码 sn-p 以了解发生了什么。
我尝试在 TVirtualStringTree 中进行增量搜索,发现它总是使用单个字符搜索字符串。当您按下一个键时,它会立即开始搜索,而无需等待第二个键,而第二个键又会成为下一次搜索的单个搜索字符串。这是正常行为吗?是否可以轻松更改(无需创建计时器线程)?
【问题讨论】:
没有代码,很难判断问题出在哪里,但是将IncrementalSearchTimeout 的值从基本的 1000 毫秒增加可能会有所帮助。它决定了在重置之前等待下一次按键的时间。
即使在按下第一个键后立即开始搜索,如果在超时期间按下其他键,它将继续使用新字符串。
您可以在Virtual TreeView直接提供的PropertiesDemo中尝试。
【讨论】:
抱歉,我的错,我找不到增量搜索的示例,也不知道 DoIncrementalSearch 应该返回什么。现在我看到它的返回值应该与 Str...Comp 文本比较函数中的相同。现在增量搜索完美运行。
【讨论】: