![]() |
Richedit, Curet an X,Y Pos setzten
Hallo!
Wie kann ich in einem RichEdit den Curet an eine bestimmte Psoition (X,Y) setzten? Danke und liebe Grüsse Peter |
Re: Richedit, Curet an X,Y Pos setzten
Zitat:
|
Re: Richedit, Curet an X,Y Pos setzten
Hi!
Danke für die Antwort. Leider weiss ich nun trotzdem nicht weiter... Wie ist das zum einbauen udn wo? Danke und liebe Grüsse |
Re: Richedit, Curet an X,Y Pos setzten
Meinst du mit X, Y Bildschirmkoordinaten oder Zeile, Spalte?
|
Re: Richedit, Curet an X,Y Pos setzten
Hallo!
Bildschirmkordinaten.. |
Re: Richedit, Curet an X,Y Pos setzten
Dann mit SetCaretPos(X, Y) so wie sniper_w schon geschrieben hat.
Wird dir aber nicht viel nützen, weil das RichEdit das Ding wieder auf die aktuelle Eingabeposition zurücksetzen wird. |
Re: Richedit, Curet an X,Y Pos setzten
hi!
ja.. stimmt.. funktioniert nicht wirklich (gar nicht)... es geht darum, dass ich aus einem Grid mittels Drag&Drop einen String in das RichEdit ziehen möchte... |
Re: Richedit, Curet an X,Y Pos setzten
Liste der Anhänge anzeigen (Anzahl: 1)
Projekt im Anhang...
|
Re: Richedit, Curet an X,Y Pos setzten
Hi!
Danke für das Projekt! Der Curet wird zwar reingesetzt, aber ich müsste genau an der Stelle dann einen Text in das RichEdit Feld einfügen (Editor.SelText := 'KeyWord';) Wird aber an einer ganz anderen Stelle eingefügt.. woran kann das liegen? Danke und liebe Grüsse |
Re: Richedit, Curet an X,Y Pos setzten
Hmmmm...
und wenn du einfach ein WM_LBUTTONDOWN, WM_LBUTTONUP mit den Koordinaten an das RichEdit-Control schickst? Dann sollte es den Eingabecursor doch so setzen, als wenn du an die Stelle mit der Maus geklickt hättest. [Update] Gibt eine bessere Methode, einen Moment... Hier:
Delphi-Quellcode:
Nicht ausprobiert!
procedure SetRichEditCaret(RichEdit: TCustomRichEdit; X, Y: Integer);
var pt: TPoint; begin pt.x := X; pt.y := Y; RichEdit.SelStart := SendMessage(RichEdit.Handle, EM_CHARFROMPOS, 0, Integer(@pt)); end; |
Re: Richedit, Curet an X,Y Pos setzten
Hi!
Perfekt - hat funktioniert! Danke und liebe Grüsse Peter |
Re: Richedit, Curet an X,Y Pos setzten
und wie kann ich das für eine caret position in abhängigkeit von zeile und spalte machen?
d.h. ich weiß ja, auf welcher position das caret steht bzw. stehen muss, denn ich kann ja abfragen, wie viele zeilen ich am bildschirm habe und wie lange der text in einer spalte bzw. der gerade aktuellen spalte ist. wie müsste der code dann aussehen, wenn ich den cursor ans ende der letzten eingabe bzw. zeile setzen will z.b. texttexttext .... texttexttext .... texttextX wobei X in der letzten Zeile das Caret bezeichnet. wie kann ich da diese position ermitteln und zum setzen des cursors an die position verwenden? |
Re: Richedit, Curet an X,Y Pos setzten
Hallo Stephan,
ich bin nicht sicher, ob ich deine Anforderung richtig verstanden habe, aber das freie Positionieren im RichEdit machst du so:
Delphi-Quellcode:
Grüße vom marabu
RichEdit.CaretPos := Point(8, 4); // Zeile 5, Zeichen 9
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz