![]() |
myedit.SelectAll ersetzen durch (Sender as TEdit).SelectAll
Hallo Leute,
ich möchte
Delphi-Quellcode:
ersetzen durch:
myedit : TEdit;
procedure TForm.Kopieren1Click(Sender: TObject); begin myedit.SelectAll; myedit.CopyToClipboard; end;
Delphi-Quellcode:
bekomme aber immer nur: EInvalidCast - ungültige Typumwandlung.
procedure TForm.Kopieren1Click(Sender: TObject);
begin (Sender as TEdit).SelectAll; (Sender as TEdit).CopyToClipboard; end; Kann mir jemand bei der Lösung helfen? mfg eddy |
Re: myedit.SelectAll ersetzen durch (Sender as TEdit).Select
Kopieren1 ist ein Button, nehme ich an. Was ist dann wohl der Sender, wenn Du diesen anklickst? Bestimmt kein Edit.
|
Re: myedit.SelectAll ersetzen durch (Sender as TEdit).Select
Hallo DeddyH,
ich hab' schon geahnt, daß es an einem schweren Denkfehler meinerseits lag. Der Sender ist in der Tat ein TMenuItem, und mit Deinem Hinweis zusammen ist mir nun auch klar, warum der obige Code Unsinn ist. Wie kann ich nun aber auf den Name des Edti-Feldes (TEdit) kommen, das unter dem entsprechenden PopUp-Menü liegt? Hintergrund: In der Standard-Version, also ohne eigenes PopUp-Menü auf einem Edit-Feld, gibt es ja standardmäig Ausschneiden, Kopieren, Einfügen, usw. Ich habe nun ein paar Edit-Felder, die per PopUp-Menü andere Funktionen ermöglichen sollen, wobei aber Ausschneiden, Kopieren und Einfügen so funktionieren soll, wie im Standard-PopUp-Menü. Kannst Du mir da auch noch weiterhelfen? mfg eddy |
Re: myedit.SelectAll ersetzen durch (Sender as TEdit).Select
Hmmm... das PopupMenu hat doch eine Eigenschaft PopupComponent. Das sollte Dir eigentlich weiterhelfen.
|
Re: myedit.SelectAll ersetzen durch (Sender as TEdit).Select
Hallo DeddyH,
vielen Dank für Deine Unterstützung.
Delphi-Quellcode:
mfg
// copy1 : TMenuItem;
procedure TForm1.copy1Click(Sender: TObject); var c1, c2, c3 : TComponent; begin if Sender is TMenuItem then begin c1 := Sender as TMenuItem; c2 := c1.GetParentComponent; c3 := (c2 as TPopupMenu).PopupComponent; (c3 as TEdit).SelectAll; (c3 as TEdit).CopyToClipboard; end; end; eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 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