![]() |
Analogon für .NET-Eigenschaft ContainerControl.ActiveControl?
Hallo,
.NET bietet ContainerControl.ActiveControl, aber Delphi scheint das nur für TForm zu bieten. Ich würde gerne herausfinden welches Kind-Steuerelement wieder aktiviert werden würde, wenn dessen Container akiviert wird. Gibt es da eine WinAPI-Möglichkeit oder VCL internes? Mein bisheriger Ansatz würde CM_FOCUSCHANGED verwenden, aber dann hat man eventuell "stale references" wenn ein Steuerelement wieder gelöscht wurde. Wenn ich nicht der Owner dieses Steuerelements bin, werde ich ja nicht vom Entferenen des Steuerelements benachrichtigt. |
AW: Analogon für .NET-Eigenschaft ContainerControl.ActiveControl?
FindNextControl ?
Bei einer Form z.B.
Delphi-Quellcode:
Self.FindNextControl(Self.ActiveControl, ...)
oder statt ActiveControl z.B. ein Panel, bei welchem die Suche beginnen soll. Mit Form.ActiveControl muß man nur aufpassen, wenn man mit MDI-Childs arbeitet, oder mit anderen eingebetteten Forms, weil dort ActiveControl nur bei der obersten Form nutzbar ist und für alle Unterforms gilt. |
AW: Analogon für .NET-Eigenschaft ContainerControl.ActiveControl?
Danke. Das Win32-Äquivalent scheint wohl SetWindowPos bzw. das Ändern des Z-Orders zu sein:
![]() Es wird aber anscheinend nicht das zuletzt aktivierte Kindfenster des Containers gespeichert (oder die Z-Order entsprechend angepasst). Beim VCL-Code den du empfohlen hast, auch nicht, TabOrder bleibt fest, und es scheint sonst keine interne Liste zu geben. GetNextDlgTabItem ist auch noch interessant: ![]() ![]() Daher muss ich das wohl mit Window-Hooks machen. |
AW: Analogon für .NET-Eigenschaft ContainerControl.ActiveControl?
Wobei der folgende Link einen interessanten Kommentar hat:
![]() Zitat:
Da ich dockable Panels habe, sollten die ihr eigenes ActiveControl haben, was sie leider nicht tun. Also doch Hooking... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 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