Инкрементальный поиск в ListBoxDelphi , Компоненты и Классы , СпискиИнкрементальный поиск в ListBoxПредположим, что ListBox сортируется, это не трудно. Вы должны разместить компонент Edit выше ListBox и создать следующий обработчик его случая OnChange:
Пытаясь вставить часть текста, вы просто просматриваете список на предмет его наличия. Если актуальный элемент в этой позиции содержит "частичный" текст, мы выводим его, в противном случае делаем так, чтобы ListBox не имел выделенного (ItemIndex) элемента. Here is the translation of the content into Russian: Код, который вы предоставили, является попыткой поиска текста в контроле Однако, есть несколько проблем с этим кодом:
Вот альтернативное решение, которое решает эти проблемы:
В этом коде мы просто используем метод Обратите внимание, что я удалил не必要ное удаление элементов и изменил логику сравнения на использование метода Также, если вы хотите сохранить оригинальное поведение (т.е., добавление и удаление элемента), вы можете изменить код следующим образом:
В этом коде мы добавляем новый текст как элемент и затем проверяем, совпадает ли он с существующим текстом на этой позиции. Если он совпадает, мы устанавливаем В статье описывается способ инкрементального поиска в ListBox, при котором пользователь вводит текст в Edit-компонент и при изменении текста ListBox автоматически обновляет список, выделяя тот элемент, который содержит введенный текст. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |