AGB  ·  Datenschutz  ·  Impressum  







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

Selektierte Komponente abfragen

Ein Thema von Eppos · begonnen am 16. Okt 2008 · letzter Beitrag vom 20. Mär 2009
Antwort Antwort
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Selektierte Komponente abfragen

  Alt 16. Okt 2008, 20:05
Hallo zusammen,

ich habe ein Form auf der verschiedene Eingabefelder stehen.
Jetzt möchte ich gerne den namen der selektierten Komponente abfragen.
Wie kann ich anfragen, welche Komponente momentan selektiert ist?

Vielen Danke!
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Selektierte Komponente abfragen

  Alt 16. Okt 2008, 20:12
Hallo Eppos,

die Eigenschaft Delphi-Referenz durchsuchenTScreen.ActiveControl sollte dir die gesuchte Information liefern.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Looper

Registriert seit: 28. Sep 2007
Ort: Hamburg
131 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Selektierte Komponente abfragen

  Alt 16. Okt 2008, 20:18
Hey
man könnte auch diesen Code in eine Schleife betten und so alle Komponenten auf dem Formular abfragen.
Delphi-Quellcode:
  
if (form1.Components[0] is TEdit) then
  if TEdit(form1.Components[0]).focused then
    //...
Ich weiß allerdings nicht, ob dieser Code auch schnell ausgeführt wird

Gruß Looper
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#4

Re: Selektierte Komponente abfragen

  Alt 16. Okt 2008, 20:34
Zitat von Hawkeye219:
die Eigenschaft Delphi-Referenz durchsuchenTScreen.ActiveControl sollte dir die gesuchte Information liefern.
TForm.ActiveControl sollte hier aber auch gehen.
Uwe Raabe
  Mit Zitat antworten Zitat
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#5

Re: Selektierte Komponente abfragen

  Alt 20. Mär 2009, 09:31
Hallo!

Auch ich suche derzeit nach einer solchen Möglichkeit. Ich will einen eigenen Formdesigner bauen und brauche ein Ereignis, das bei Änderung der selektierten Komponente den Objektinspektor aktualisiert.

Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ClassInspector.Hide;
  ClassInspector.ClassProperties := ActiveControl;
  ClassInspector.Show;
end;
Hier ist Form1 der Formdesigner unter Verwendung der Komponente TSizeCtrl vom User _frank_ aus der DP. Classinspector ist der Objektinspektor.

Wenn ich zur Entwurfszeit ActiveControl in der FormCreate Methode fest einstelle, erhalte ich die Anzeige im OI wie gewünscht.

http://www.delphipraxis.net/internal...highlight=rtti

Nur, wenn ActiveControl zur Entwurfszeit NIL bleibt (Eintrag im Delphi-OI leer) und ich also die anzuzeigende Komponente zur Laufzeit auswähle, klappt das nicht. Wer kann hier helfen?
  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 09:53 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