Перейти к содержанию
Fire Monkey от А до Я
  • 0

Можно ли программно передать фокус на SearchBox и очистить строку?


Yarpda

Вопрос

Собственно вопрос теме.

Не нашел никаких средств управления строкой поиска во встроенном у ListView  SearchBox'e.

Интересует возможность из кода очистить(изменить) строку поиска и передать на нее фокус.

Возможно ли это?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Используй Helper

uses
  FMX.SearchBox;


type
  TListViewMyHelper = class helper for TListView
  public
    function SearshBox: TSearchBox;
  end;


{ TListViewMyHelper }


function TListViewMyHelper.SearshBox: TSearchBox;
var
  AIdx: Integer;
begin
  for AIdx := 0 to Self.ComponentCount - 1 do
    if Self.Components[AIdx] is TSearchBox then
    begin
      Result := TSearchBox(Self.Components[AIdx]);
      Break;
    end;
end;

Или просто функцию 

function SearshBox(AListView: TListView): TSearchBox;
var
  AIdx: Integer;
begin
  for AIdx := 0 to AListView.ComponentCount - 1 do
    if AListView.Components[AIdx] is TSearchBox then
    begin
      Result := TSearchBox(AListView.Components[AIdx]);
      Break;
    end;
end;

 

Primer.zip

Ссылка на комментарий
  • 0

проще

 

  TCustomListView_helper = class helper for TCustomListView
    function SearchEdit: TSearchBox;
  end;


{ TCustomListView_helper }

function TCustomListView_helper.SearchEdit: TSearchBox;
begin
  Result:= Self.FSearchEdit;
end;
Ссылка на комментарий
  • 0
18 часов назад, Mazzay сказал:

А ещё есть какие-нибудь варианты? C++Builder не поддерживает helper.

Собственно:

for(int i = 0; i < ListView1->ControlsCount; ++i)
	if(dynamic_cast<TControl*>(ListView1->Controls->Items[i])->ClassNameIs("TSearchBox"))
	{
		dynamic_cast<TSearchBox*>(ListView1->Controls->Items[i])->Text = EmptyStr;
		break;
	}

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...