Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#1

[Erledigt] Caret Position Pixel <--> Spalte, Zeile

  Alt 14. Nov 2007, 14:55
Bevor ich den eigentlichen Beitrag abgesendet habe, hab ich brav nochmal alles gecheckt und das Thema hat sich quasi selbst erledigt.

Um eventuellen Nachfolgern zu helfen:

Wenn man ein TMemo, TEdit was auch immer mit einem Caret ableitet/überschreibt, bedenke:

Das Objekt hat ggf. auch eine SetCaret Funktion, die nun nicht den Caret Pixelgenau verschiebt, sondern in Zeile und Spalte des Textes.

Das tatsächliche platzieren Pixelgenau geht mit Windows.SetCaretPos(x, y).

Somit sollte man vorsichtshalber und vollständigkeitshalber um Verwirrungen zu Vermeiden immer mit

Delphi-Quellcode:
  Self.SetCaretPos(Point(X, Y)); // für Spalte, Zeile
  Windows.SetCaretPos(X, Y); // für Pixel X Y
arbeiten.

Hier ist auch zu sehen, dass das TCustomMemo ein TPoint erwartet, Windows aber X und Y direkt.

Das wollt ich nur mal gesagt haben.
  Mit Zitat antworten Zitat