Umplerea unui combobox (component)

Acest articol oferă o ComboBox îmbunătățită. care umple zona de text, în funcție de datele introduse de utilizator (completărilor), cu opțiunile posibile.

Articolul arată cum să se extindă componentele existente. Nu neapărat crea oricând o nouă componentă, vă puteți îmbunătăți pur și simplu unul existent. Puteți crea pur și simplu o nouă clasă și de a ieși din ea tot ceea ce doriți să se îmbunătățească.

În cazul nostru, vom extinde direct componenta TComboBox. Am putea alege TCustomComboBox. dar el a publicat o varietate de proprietăți în diferite versiuni ale Delphi.

Delphi face ca această sarcină simplă, oferind maestru puțin. Din meniul File -> New. selectați Componenta în prima filă a Nou.

Veți vedea un vrăjitor simplu. Umple respectiv:

  • Tip strămoș: TComboBox
  • Clasa Nume: TFillComboBox
  • Paletă Pagina: Probele (sau oricare alta, cum ar fi „Standard“)
  • Numele fișierului unitate: Selectați directorul și fișierul pentru a salva munca

Faceți clic pe OK. Vom instala mai târziu.

Expertul creează componentă majoră, inclusiv setarea subrutină:

Aceasta rutina va fi numit Delphi, atunci când selectați pachetul de instalare, inclusiv acest fișier.

Primul parametru descrie pagina RegisterComponents paletă, în care componenta este montat, al doilea - matricea componentelor care urmează să fie instalate.

Adăugarea unei noi proprietăți

Pentru noul nostru componentă, vom adăuga o nouă proprietate AutomaticFillIn. Când este setat la True. vom căuta un element care corespunde la datele introduse de utilizator și adăugați restul câmpului de text.

Prin urmare, trebuie să declarăm o variabilă de tip privat, care va stoca comuta aceste sensuri.

Plasarea variabilă Publicat în secțiunea, permitem utilizatorului să schimbe valoarea sa în Object Inspector.

Prelucrarea utilizatorului pentru a modifica textul

Pentru a afla când utilizatorul schimbă textul în domeniu, avem nevoie pentru a trece peste handler implicit pentru posturile ComboBox.

În primul rând, vom verifica pentru a vedea dacă un tratament special este inclus. Dacă este așa, vom obține textul actual pe care utilizatorul a intrat, și apoi căutați-l în listă. Dacă există o potrivire, înlocuiți elementul text existent și selectați partea adăugată la funcția noastră.

Scrieți modulul de cod, și apoi salvați fișierul:

instalarea componentelor

Acum trebuie să instalați componenta pe care tocmai l-ați creat.

Meniul Componenta -> Instalare Component. selectați FillComboBox.pas dvs. în numele fișierului unitate și faceți clic pe OK.

Totul! Acum puteți crea o nouă aplicație și de a utiliza componenta.