![]() |
Delphi-Version: 10.1 Berlin
TStyleManager + Hotkey
Ich verwende im Program Hotkeys, z.B. Shift+Alt+Up oder Shift+Alt+Down. Das funktioniert soweit.
Wenn ich aber nun z.B. per StyleManager die Oberfläche umschalte, z.B.
Delphi-Quellcode:
dann funktionieren die Hotkeys nicht mehr.
TStyleManager.TrySetStyle('Windows10 Dark');
Kennt da jemand die Ursache oder gar eine Lösung? Grüsse Uli |
AW: TStyleManager + Hotkey
Mmh, mir scheint dass Stylemanager bzw. Hotkeys doch eher selten verwendet werden und noch weniger gemeinsam.
Ein einzige Diskussion habe ich noch gefunden mit ![]() Bin ich wirklich der Einzige mit diesem Problem? Grüsse Uli |
AW: TStyleManager + Hotkey
Meinst du so globale Hotkeys, die du per RegisterHotkey registrierst? Die werden beim Wechsel des VCL-Styles alle ungültig, da dafür alle Forms neu erstellt werden müssen, und dadurch die Handles ungültig werden.
D.h. du müsstest vor dem Wechsel des Styles UnRegisterHotkey aufrufen, und danach wieder neu RegisterHotkey. |
AW: TStyleManager + Hotkey
Danke für den Tip, es klappt aber nicht.
Leider hilft es nicht einfach vorher UnRegisterHotkey und danach wieder RegisterHotkey auszuführen. Und an das Patchen von z.B. (oder ähnlich Verantwortlichem)
Delphi-Quellcode:
in VCL.Themes trau ich mich ran, dafür bin ich zu unerfahren.
procedure TFormStyleHook.CMDialogChar(var Message: TWMKey);
begin if (FMainMenuBarHook <> nil) and (KeyDataToShiftState(Message.KeyData) = [ssAlt]) and FMainMenuBarHook.CheckHotKeyItem(Message.CharCode) then begin Message.Result := 1; Handled := True; end; end; :( Grüsse Uli |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 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