Einzelnen Beitrag anzeigen

Mazen

Registriert seit: 6. Okt 2011
66 Beiträge
 
Delphi 7 Professional
 
#1

Deselektieren des Textes in TEdit

  Alt 4. Feb 2014, 09:20
Guten Tag,
ich habe auf einer Form ein TEdit welches ursprünglich nur die Eingabe von Zahlen zulassen sollte. Soweit auch kein Problem.
Dann kam ich auf die Idee das es praktisch wäre wenn sich bei der Eingabe eines Buchstaben automatisch ein Suchfenster öffnen würde.

Also habe ich im onKeyDown-Event des TEdit folgendes gemacht:

Delphi-Quellcode:
frmSuche := TfrmSuche.Create(frmMain);
frmSuche.mode := 'Adressen';
frmSuche.sourceObj := Sender;
frmSuche.filter := '';
frmSuche.editSuchbegriff.Text := Char(Key);
frmSuche.ShowModal;
if Assigned(frmSuche) then
   FreeAndNil(frmSuche);
Dort weise ich der Text Eigenschaft meiner TEdit Komponente auf meinem Suchformular den eingegeben Buchstaben zu. Das funktioniert soweit auch. Nur wird dieser, sobald sich das Fenster öffnet, automatisch selektiert. Wenn man dann weiter tippt wird dieser natürlich ersetzt und es fehlt der erste Buchstabe des Suchwortes.

Folgendes habe ich schon auf Seite des Suchformulars im onShow-Event probiert:

Delphi-Quellcode:
editSuchbegriff.SelStart := Length(editSuchbegriff.Text);
editSuchbegriff.SelLength := 0;
Der Cursor steht auch hinter dem Buchstaben, so wie es auch sein sollen, nur ist der Buchstabe eben markiert was so nicht sein soll.

Gibt es da sonst noch Möglichkeiten?

Gruß,
Mazen
  Mit Zitat antworten Zitat