Взглянул на документацию по списку элементов управления в Microsoft Docs. Это поведение описано в Обработка сообщений просмотра списка по умолчанию (WM_CHAR
сообщение). Строка поиска действительно сбрасывается через одну секунду.
Однако я не нашел ни одного уведомления, которое кажется относительным, например, возвращает текущую строку поиска, которую вы можете отобразить. Существует LVN_INCREMENTALSEARCH , но документация довольно запутанная (например, что такое «инкрементный поиск» и т. Д. c), и я не знаю, будете ли вы вообще получать это, так как Это похоже на элементы управления виртуальным списком. В любом случае, вы можете попробовать.
Но сброс теста, введенного пользователем всего за 1 сек c, может оказаться нежелательным для пользователей или рецензентов (на самом деле я никогда не видел, чтобы такое приложение). Таким образом, вы можете реализовать некоторую операцию «Поиск» в своем диалоговом окне, как вы сказали, добавить поле редактирования и искать его содержимое. Вы можете использовать сообщение LVM_FINDITEM (или макрос ListView_FindItem()
), запрашивающее поиск частичного совпадения (LVFI_PARTIAL
), или выполнить поиск самостоятельно (найдите соответствующий элемент и переместитесь туда).