AGB  ·  Datenschutz  ·  Impressum  







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

Name der aktiven Komponente ermitteln

Ein Thema von ThoPos · begonnen am 17. Nov 2011 · letzter Beitrag vom 17. Nov 2011
Antwort Antwort
ThoPos

Registriert seit: 30. Jun 2004
Ort: Köln
69 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Name der aktiven Komponente ermitteln

  Alt 17. Nov 2011, 15:56
Hallo Zusammen,

ich benötige für eine Menüfunktion den Namen des aktiven Controls in meiner Form.

Ich habe folgenden Lösungsansatz:

Delphi-Quellcode:
var
  s : String;
begin
  s := TControl(FindControl(GetFocus)).Name;
Funktioniert eigentlich prima, nur halt bei TComboBox nicht.

Meine Suche im Netz ergab, daß auch andere vor diesem Problem stehen bzw. standen. Aber leider keine Lösung ...

Kann mir einer von Euch eine Lösung nennen?

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

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

AW: Name der aktiven Komponente ermitteln

  Alt 17. Nov 2011, 16:01
Was ist denn mit ActiveControl?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
ThoPos

Registriert seit: 30. Jun 2004
Ort: Köln
69 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Name der aktiven Komponente ermitteln

  Alt 17. Nov 2011, 19:07
Danke für den Tipp. Das aktuelle Problem wäre damit gelöst.
Allerdings ist meine Wissensgier geweckt worden ...

Es wäre schon schön, zu wissen, wie man über Getfocus zum Namen der ComboBox komm. Kennt einer den Weg?

Gruß aus Köln
Thomas
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Name der aktiven Komponente ermitteln

  Alt 17. Nov 2011, 19:16
Mit GetFocus bekommst Du eine Fensterhandle zurück, das ist in diesem Fall aber nicht das Handle der Combobox, sondern eines "internen" Windowshandles

Delphi-Quellcode:
var
  s : String;
  h:HWND;
begin
  SetLength(s,255);
  h := GetFocus;
  GetClassName(h, @s[1], Length(s));
  Caption := s;
end;
bei einem normalen Edit bekommst Du TEdit bei der Combobox Edit
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  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 12:28 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