Tech-Ecke / Delphi Inhalt / TEdit

 

     TEdit

 

   Grundlegendes

Der Inhalt einer TEdit Komponente ist ein String. demzufolge gelten hierfür alle Stringoperationen.

   Edit1.Text := String
 

   TEdit als Passwort-Eingabefeld   [ ********** ]

        Im Objektinspektor ein Zeichen z.B. ein *  bei PasswordChar eintragen

   Nur bestimmte Zeichen zulassen

Procedure zu TEdit erstellen > Objektinspektor > Ereignisse > OnKeyPress

   if not (key in ['0'..'9', ',' , '.' , #8]) then  key := #0;   // nur Zahlen und Komma (#8 ist Delete)
 

... und bestimmte Zeichen nicht zulassen

 
 if ( Key = 'x' ) then Key := #0;   // x wird nicht mehr zugelassen
          
 

   Auf Eingabetaste reagieren

Procedure zu TEdit erstellen > Objektinspektor > Ereignisse > OnKeyPress

 
 if ( Key=#13 ) then begin {mach was}; Key := #0; end;
 

   Nur Lesezugriff gewähren

Die Option ReadOnly wird zwar nicht im Objektinspektor angezeigt, gilt jedoch für viele Komponenten wie auch dem TEdit.

   Edit1.ReadOnly := true;
 

   STRG+V verhindern

Möchte man das Einfügen mittels Tastenkombination STRG+V verhindern, dann folgende Codezeile hinter das Ereignis OnKeyDown des TEdit schreiben.

   // STRG+V verhindern
if ((ssCtrl in Shift) AND (Key = ord('V'))) then Key := 0;
 

PS: Möchte man auch noch das Kontextmenü des Rechtsklick unterdrücken, so nimmt man einfach ein leeres TPopupMenu und weist es dem TEdit zu.

   Schriftformatierung setzen und nehmen

   Edit1.Font.Style :=  [fsBold];  // weitere [fsItalic, fsUnderline, fsStrikeOut]
 
 Edit1.Font.Style := []; // alle Formatierungen wegnehmen
 

   Cursor positionieren

  Edit1.SelStart := 0 // setzt den Cursor an die erste Position

Edit1.SelStart := length(Edit1.Text);  // setzt den Cursor an das Ende

 

   Text markieren

   Edit1.SelectAll;  // alles markieren

 Edit1.SelStart := 0; Edit1.SelLength := 5; // markiert die ersten fünf Zeichen

 

Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !

[letzte Aktualisierung 09.10.2006]