![]() |
Markierten Text in Edit Feld übertragen
Wie kann ich es programmtechnisch realisieren, dass ich in einem Edit Feld Text Markiere, dann duch drücken eines Buttons diesen Text in ein anderes EditFeld übertrage?
Delphi-Quellcode:
Der Code fällt ja schonmal weg, da dieser zu statisch ist, ich will ein kleines Clipboard in meinem Programm realisieren, undweiß nicht, wie die Bezeichnung für markierten Text ist...
Edit1.Text := Edit2.Text
Danke |
Re: Markierten Text in Edit Feld übertragen
Hallo,
probiers doch mal mit SelText:
Delphi-Quellcode:
Edit2.Text := Edit1.SelText;
|
Re: Markierten Text in Edit Feld übertragen
Ich bin mir nicht ganz sicher, aber einige Controls haben die Eigenschaft SelText.
Edit: Zu langsam, mal wieder ... |
Re: Markierten Text in Edit Feld übertragen
Warum eine eigene Zwischenablage implemnetieren und verwendest nicht die vorhandene?
|
Re: Markierten Text in Edit Feld übertragen
Delphi-Quellcode:
SendMessage(Edit1.Handle, WM_COPY,0,0);
Edit2.Text := ''; SendMessage(Edit2.Handle, WM_PASTE,0,0); |
Re: Markierten Text in Edit Feld übertragen
Das ginge auch über die Clipbrd-Unit:
Delphi-Quellcode:
uses Clipbrd;
... // copy Clipboard.AsText := Edit1.SelText; // paste Edit2.Text := Clipboard.AsText; |
Re: Markierten Text in Edit Feld übertragen
Das das alles so geht ist klar, mein problem ist aber doch, dass ich das nicht an einzelne Felder binden will, sondern egal, was markiert ist irgendwo (in einem Edit Feld, Memo etc pp), dass das kopiert wird, nur "SelText" geht ja leider nicht :-/
|
Re: Markierten Text in Edit Feld übertragen
Sowohl Edit als auch Memo und Richedit, also die Controls, die du haben willst, sind letztlich von TCustomEdit abgeleitet. Du prüfst also, welches Control aktiv ist, schaust mit is nach, ob es ein TCustomEdit ist, castest es nach TCustomEdit und fertig ist die Laube.
Hoffe geholfen zu haben Apollonius |
Re: Markierten Text in Edit Feld übertragen
Ja, das würde dann heißen, dass ich jetzt quasi n Variable festlege und diese Variable dann immer den Namen des Edit Feldes annimmt, welches aktiv ist?
Und dann kann ich das ableiten, joa gute Idee ;) Ich probiers mal und stell bei Erfolg den Code rein... //Geht nicht, leider wie meintest du das dann genau, wie soll ich das prüfen, das ist mir nicht ganz verständlich... |
Re: Markierten Text in Edit Feld übertragen
Ich erkläre es noch mal genauer.
Du musst es mit einem SpeedButton lösen, denn der Button, den du klickst, klaut dir den Fokus, sodass dein Edit oder Memo oder wasauchimmer nicht mehr aktiv ist. Hier ist mein Code für das onClick des Speedbuttons:
Delphi-Quellcode:
Bei mir funktioniert das mit Edits und Memos.
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin if not (activecontrol is TCustomEdit) then //Falls das aktive Control kein TCustomEdit, also z.B. Memo oder Edit ist, exit; // wird sofort abgebrochen Memo2.lines.commatext:=TCustomEdit(activeControl).SelText; //Ich caste das aktive Control nach TCustomEdit und end; //verwende dessen Eigenschaft selText, um den markierten //Text in Memo2 zu schreiben Hoffe geholfen zu haben Apollonius |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 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-2025 by Thomas Breitkreuz