![]() |
Delphi-Version: 6
TEdit Componente über Tag finden
Hallo,
ich habe Formular 1 mit 10 Edit Feldern und Formular 2 mit einem Button. Wenn ich auf den Button in Formular 2 gehe möchte ich herausfinden welches Editfeld in Formular 1 den Focus hat. Da ich nicht über den Namen von TEdit (for i 1 to usw.) gehen möchte würde ich das gerne über TComponent.Tag versuchen. Leider habe ich keine Idee wie ich es umsetzen muss und suche mir im Moment nen Wolf. Kann mir bitte jemand einen Tipp geben. Vielen Dank |
AW: TEdit Componente über Tag finden
Moin...8-)
Zitat:
|
AW: TEdit Componente über Tag finden
Zitat:
|
AW: TEdit Componente über Tag finden
@haentschman
Ja genau. Damit ich später dort was rein schreiben kann. @blawen OK, und wie machee ich das? Vielen Dank PS: später habe ich in Formular 2 ein Edit-Feld aus dem ich den Wert in das Formular 1 in einen der 10 Edit-Felder übertragen möchte. |
AW: TEdit Componente über Tag finden
Also verstehe ich das richtig:
Form1 { Edit1, Edit2, Edit3, Edit4, Edit5, Edit6, Edit7, Edit8, Edit9, Edit10: TEdit; } Form2 { Button1: TButton; } Und jetzt soll beim Klicken von Button1 auf Form2 herausgefunden werden, welches TEdit auf Form1 den Fokus hat? Falls ja, dann kannst du das derzeit fokussierte Control auf Form1 mit Form1.ActiveControl herausbekommen. Um zu prüfen, ob es ein Button ist, benutze den "is"-Operator (nur notwendig, falls du noch andere Kontrols außer Edit-Felder auf Form1 hast). Zum anschließenden Konvertieren den "as"-Operator. Dein OnClick-Ereignis des Form1.Button1 könnte also wie folgt aussehen (vergiss nicht, die Unit des Form1 in die des Form2 einzubinden!):
Delphi-Quellcode:
procedure Form2.Button1Click(Sender: TObject);
var SelectedEditField: TEdit; begin //if Form1.ActiveControl is TEdit then <- nur Notwendig, falls nicht-Edit-Controls vorhanden SelectedEditField := (Form1.ActiveControl as TEdit); end; |
AW: TEdit Componente über Tag finden
Super.
1000 Dank. Das war es was mir gefehlt hat. Leider komme ich eher sehr selten dazu etwas mit Delphi zu arbeiten. Nochmals Danke. |
AW: TEdit Componente über Tag finden
Aber nicht über Screen.ActiveControl ... die andere Form hat den Folus und wenn man einen "normalen" Button (nicht ToolButton/SpeedButton) drückt, bekommt der auch noch den Fokus.
Und bei MDI-Childs und eingebetteten Forms ist Form.ActiveControl immer NIL ... denn dort liegt der Fokus bei der obersten Parent-Form, also (Form.Parent{.Parent...} as TForm).ActiveControl |
AW: TEdit Componente über Tag finden
Es funktioniert wie ich es mir wünsche.
Also alles gut :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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