Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Textcursor unter Mouscursor setzen
fritzoskar - Mo 16.10.06 16:26
Titel: Textcursor unter Mouscursor setzen
Hallo!
Ich möchte den Textcursor mittels onmousemove Event genau unter die Mousposition setzen, ohne den Mousbutton zu drücken.
Beim Stöbern im DF habe ich die Lösung für dieses Probelem bei einen TRichEdit gefunden.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.RichEdit2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var iCharIndex: Integer; Pt: TPoint; begin with Tcustomedit(sender) do begin SetFocus; Pt := Point(X, Y); iCharIndex := Perform(EM_CHARFROMPOS, 0, Integer(@Pt)); selStart:=icharindex; end;
end; |
wieso funktioniert das bei der TMemo-Komponente nicht
thx für jede hilfe
Lannes - Mo 16.10.06 22:23
Hallo,
fritzoskar hat folgendes geschrieben: |
| ...wieso funktioniert das bei der TMemo-Komponente nicht... |
genau kann ich das nicht erklären, aber es ist wohl abhängig von der Komponente wie mit EM_CHARFROMPOS umgegangen werden muss.
Bei einem Memo funktioniert es so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var lParam: Integer; begin with TCustomEdit(Sender) do begin SetFocus; lParam := Y shl 16 + X; selStart := LoWord(Perform(EM_CHARFROMPOS, 0, lParam)); end; end; |
Oder auch so, swissdelphicenter:
...die Cursor Position im TMemo der Maus folgen lassen? [
http://www.swissdelphicenter.ch/de/showcode.php?id=1538]
//Edit: Link entfernt(war Quatsch), anderen Link hinzugefügt.
fritzoskar - Di 17.10.06 09:42
Danke, funktioniert wunderbar
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!