Компонент TSearchBox появился впервые в Delphi 10 Seattle и представляет собой обычный TEdit со встроенной кнопкой поиска, которая может менять свой внешний вид (иконку) в зависимости от настроек компонента.
| Основная информация по компоненту | ||
| Вкладка палитры компонентов | Windows 10 | |
| Исходник официального примера и документация | DocWiki | |
Демонстрационный пример показывает как использовать элемент управления TSearchBox и его событие OnInvokeSearch.
Приложение использует следующие элементы управления:
- SB: компонент TSearchBox.
- lstLog: список TListBox для сообщений.
- grpBiDiMode: переключатели TRadioGroup, которые позволяют вам изменить свойство BiDiMode.
- grpSearchIndicator: переключатели TRadioGroup, позволяющие изменить значок индикатора поиска.
- chkEnabled: TCheckBox включает или отключает окно поиска.
- cbxVclStyles: поле со списком TComboBox, которое позволяет вам изменить стиль приложения.
Внешний вид демонстрационного приложения представлен на рисунке ниже:
Использование компонента
Для смены внешнего вида кнопки компонента TSearchBox используется свойство:
TSearchBoxIndicator = (sbiText, sbiAudio);
Когда пользователь вводит текст в строку поиска (TSearchBox) и нажимает на клавишу Enter или же на кнопку, то у компонента срабатывает событие:
OnInvokeSearch: TNotifyEventДемонстрационный пример
В демонстрационном примере показывается использование свойств TSearchBox, а также использование его событие OnInvokeSearch.
Смена значка кнопки у TSearchBox осуществляется следующим образом:
procedure TSearchBoxForm.grpSearchIndicatorClick(Sender: TObject); begin SB.SearchIndicator := TSearchBoxIndicator(grpSearchIndicator.ItemIndex); .... end;
Обработчик события OnInvokeSearch выглядит следующим образом:
procedure TSearchBoxForm.SBInvokeSearch(Sender: TObject); begin //если значок кнопки для текстового поиска if SB.SearchIndicator = sbiText then Log('Text: OnInvokeSearch - "' + SB.Text + '"') //если значок кнопки для аудио поиска else Log('Audio: OnInvokeSearch'); end;
На рисунке ниже представлен пример работающего демонстрационного приложения, в котором показано как выглядит TSearchBox с иконкой для аудио поиска:
При подготовке статьи использовалась информация со следующих ресурсов:
- Официальный репозиторий демострационных примеров Delphi на SourceForge
- Документация по компоненту на сайте Embarcadero


