AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TEdit Componente über Tag finden

Ein Thema von bayou · begonnen am 18. Feb 2018 · letzter Beitrag vom 19. Feb 2018
Antwort Antwort
bayou

Registriert seit: 12. Feb 2018
Ort: Friedrichsdorf
7 Beiträge
 
Delphi 6 Personal
 
#1

TEdit Componente über Tag finden

  Alt 18. Feb 2018, 10:57
Delphi-Version: 6
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
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

AW: TEdit Componente über Tag finden

  Alt 18. Feb 2018, 11:09
Moin...
Zitat:
Wenn ich auf den Button in Formular 2 gehe
...heißt das das du den Button gedrückt hast und im Click Handler wissen willst wo der "Wert" hin soll?
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
679 Beiträge
 
Delphi 12 Athens
 
#3

AW: TEdit Componente über Tag finden

  Alt 18. Feb 2018, 11:15
Moin...
Zitat:
Wenn ich auf den Button in Formular 2 gehe
...heißt das das du den Button gedrückt hast und im Click Handler wissen willst wo der "Wert" hin soll?
Spontan würde mir einfallen, zu schauen, wer woher den Focus besessen hat.
Roland
  Mit Zitat antworten Zitat
bayou

Registriert seit: 12. Feb 2018
Ort: Friedrichsdorf
7 Beiträge
 
Delphi 6 Personal
 
#4

AW: TEdit Componente über Tag finden

  Alt 18. Feb 2018, 11:16
@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.

Geändert von bayou (18. Feb 2018 um 11:44 Uhr)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
488 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TEdit Componente über Tag finden

  Alt 19. Feb 2018, 00:02
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;
Dennis
  Mit Zitat antworten Zitat
bayou

Registriert seit: 12. Feb 2018
Ort: Friedrichsdorf
7 Beiträge
 
Delphi 6 Personal
 
#6

AW: TEdit Componente über Tag finden

  Alt 19. Feb 2018, 10:56
Super.
1000 Dank.
Das war es was mir gefehlt hat.
Leider komme ich eher sehr selten dazu etwas mit Delphi zu arbeiten.

Nochmals Danke.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: TEdit Componente über Tag finden

  Alt 19. Feb 2018, 11:24
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
$2B or not $2B
  Mit Zitat antworten Zitat
bayou

Registriert seit: 12. Feb 2018
Ort: Friedrichsdorf
7 Beiträge
 
Delphi 6 Personal
 
#8

AW: TEdit Componente über Tag finden

  Alt 19. Feb 2018, 11:37
Es funktioniert wie ich es mir wünsche.
Also alles gut
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz