TRichEdit: Automatisches Einrücken
-
Hallo zusammen!
Ich möchte eine TRichEdit-Komponente benutzen (BCB5), um einen kleinen Code-Editor zu schreiben (ASM). Mein Problem ist: Wie bekomme ich es hin, dass nach Drücken der Enter-Taste das Caret nicht an den Anfang der nächsten Zeile plaziert wird, sondern in die Spalte, in der auch die vorherige Zeile beginnt (so wie das ja in jedem guten Editor der Fall ist), so dass man den Code einfach so runterschreiben kann ohne jede Zeile manuell einrücken zu müssen? Ich habe mir alle Methoden und Eigenschaften von TRichEdit angesehen, aber irgendwie finde ich keinen Ansatzpunkt. Muss ich etwa extra eine neue Klasse ableiten? Oder wie könnte man das sonst machen?
Danke schonmal in Voraus,
Blackspawn
-
Du musst halt die jeweils vorige Zeile auf Schlüsselwörter oder -zeichen hin untersuchen und ggf. entsprechende Leer- oder Tabulatorzeichen einfügen.
-
@Jansen: Ja, gut, nur WO mache ich das? Im KeyPress Event-Handler? Bin ich dann nicht "zu früh dran"? Beim Druck auf Enter hat TRichEdit ja schließlich auch ein Standardverhalten, es wird z.b. eine neue Zeile eingefügt. Und das passiert doch erst, nachdem der KeyPress Event-Handler ausgeführt wurde, oder?
-
Du musst einfach manuell ne neue Zeile erstellen, einrücken und hinterher Key auf 0 sezten, damit das Enter nicht mehr verarbeitet wird.
-
@Eßer: Yep, genau das hab ich mir auch schon überlegt. Trotzdem danke!