Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Name des aktiven Controls ermitteln (https://www.delphipraxis.net/156919-name-des-aktiven-controls-ermitteln.html)

Ralf Meyer 20. Dez 2010 15:13

Name des aktiven Controls ermitteln
 
Hi,

meine Anwendung registriert Systemweit einen Hotkey z.B. F10 der dann wenn er ausgelöst wird über
Delphi-Quellcode:
ControlName := Screen.FocusedForm.ActiveControl.Name ;
// ControlName := Screen.FocusedForm.ActiveControl.GetNamePath ; // Alternative
den Namen des Controls ausgeben soll.

Ich starte meine Anwendung und die zweite Anwendung wovon ich die Controlnamen ermitteln möchte.
Diese hat dann den Focus. Ich drücke in der fremden Anwendung den Hotkey.
Meine Anwendung gibt dann aber immer den Namen des Controls aus, welches in meiner Anwendung den Focus hätte, wäre sie aktiv.

Es scheint dass das aktive Form kurzzeitig auf meine Anwendung gesetzt wird, die den Hotkey abarbeitet.

Weiß jemand wie ich wirklich das Aktive Control rausfinden und es auch speichern kann?

Gruß
Ralf

Neutral General 20. Dez 2010 15:31

AW: Name des aktiven Controls ermitteln
 
Hallo,

Du könntest mit MSDN-Library durchsuchenGetFocus und MSDN-Library durchsuchenGetClassName den Klassen-Name des aktiven Controls feststellen. Der Name eines Controls ist ja nichts was von Windows verwaltet wird. Außer dem Programm selbst weiß auch niemand den Namen.

Edit: Ich glaube du brauchst auch nocht MSDN-Library durchsuchenAttachThreadInput... Aber bin mir nicht sicher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 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