Thema: Delphi Selstart SelLength

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Selstart SelLength

  Alt 10. Aug 2003, 22:40
Moin F.W.,

Zitat von F.W.:
kann es damit zusammen hängen, dass die Zeile erst hinzugefügt wird, wenn die eigentliche Arbeit schon zu ende ist?
Das hängt damit zusammen, dass SelStart nicht die Zeilennummer, sondern die Zeichenposition (nullbasiert) enthalten muss.
Dazu könntest Du jetzt, vor dem hinzufügen der neuen Zeile, in einer Schleife die ganzen Zeilenlängen zusammenaddieren (nicht zu vergessen +2 je Zeile, da die nicht sichtbaren Zeilenendezeichen #13#10 hierbei mitzählen).
Eine andere Variante SelStart zu ermitteln wäre die Message EM_LINEINDEX. Diese muss allerdings nach dem hinzufügen der neuen Zeile an das RichEdit gesendet werden.

RichEdit1.SelStart := SendMessage(RichEdit1.Handle,EM_LINEINDEX,RichEdit1.Lines.Count-1,0); Mit anderen Worten:
Du lässt einfach diese Zeile weg

MyLines := RichEdit1.Lines.Count; //Zeilen zählen und tauscht die SelStart Zeile durch die oben genannte aus.

Vielleicht solltest Du SelLength am Schluss auch noch wieder auf 0 setzen, damit die Markierung verschwindet.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat