Autocomplete ComboBox em Firemonkey - Delphi

Delphi

VCL

FireMonkey

26/11/2018

Boa tarde!

Gostaria de saber se tem como criar a opção de autocomplete do combobox em firemonkey? Pois estou migrando da VCL e não consegui encontrar essa opção.
Eduardo Ramos

Eduardo Ramos

Curtidas 0

Respostas

Fernando Wahl

Fernando Wahl

26/11/2018

Bom dia Edu,

Não existe essa funcionalidade, mas você pode escrever o seu próprio.
Este código abaixo, é um exemplo para uma combobox,



{Combobox default behavior}

TCombobox = class(FMX.ListBox.TComboBox)
private
LastTimeKeydown:TDatetime;
Keys:string;
protected
procedure KeyDown(var Key: Word; var KeyChar: System.WideChar; Shift: TShiftState);override;
end;

{ TCombobox }

procedure TCombobox.KeyDown(var Key: Word; var KeyChar: System.WideChar; Shift: TShiftState);
var
aStr:string;
I: Integer;
begin
if key=vkReturn then exit;
if (keychar in [chr(48)..chr(57)]) or (keychar in [chr(65)..chr(90)]) or (keychar in [chr(97)..chr(122)]) then begin
//combination of keys? (500) is personal reference
if MilliSecondsBetween(LastTimeKeydown,Now)<500 then
keys:=keys+keychar
else // start new combination
keys:=keychar;
//last time key was pressed
LastTimeKeydown:=Now;
//lookup item
for I := 0 to count-1 do
if uppercase(copy(items[i],0,keys.length))=uppercase(keys) then begin
itemindex:=i;
exit; //first item found is good
end;
end;
inherited;
end;



Qualquer coisa, posta ai o código que fizer para a gente ir vendo e dar um olhada.

Até, abraços.
GOSTEI 0
Fernando Wahl

Fernando Wahl

26/11/2018

Opa, de novo, da uma olhada nesse link acho que tb,m vai te ajudar:

http://codeverge.com/embarcadero.delphi.firemonkey/combobox-auto-complete/1059515

Até.
GOSTEI 0
POSTAR