| hermit.de hat folgendes geschrieben: |
Ich möchte markierten Text in einem Edit und/oder Memo mit der Maus verschieben können.
hermit |
Im Memo könnte ich mir vorstellen, dass man den markierten Text in ein Edit (eventuell BorderStyle := bsNone) stellt und dieses dann verschiebt. Die einfachste Möglichkeit dazu ist:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then Edit1.SetBounds(Edit1.Left+X-Edit1.Width div 2, Edit1.Top+Y-Edit1.Height div 2,Edit1.Width,Edit1.Height); end; |
oder:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); const sc_dragmove = $f012; begin ReleaseCapture; TWinControl((Sender as TEdit)).Perform(wm_syscommand,sc_dragmove, 0); end; |
Bleibt das Problem, wie fügt man den Text wieder an der korekten Position ein...
Ein RichEdit kann das Verschieben von markiertem Text "von selbst".
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!