AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wie kann man Ctrl+Tab "Shortcut" richtig implementieren (VCL/Win32)
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann man Ctrl+Tab "Shortcut" richtig implementieren (VCL/Win32)

Ein Thema von mael · begonnen am 16. Dez 2020 · letzter Beitrag vom 16. Dez 2020
Antwort Antwort
Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#1

Wie kann man Ctrl+Tab "Shortcut" richtig implementieren (VCL/Win32)

  Alt 16. Dez 2020, 16:10
Normalerweise hat man ja Shortcuts, wie für TAction, die einmal gedrückt sofort ausgelöst werden. Werden Tasten danach weiter gedrückt gehalten, wie etwa, Alt, Strg, Umsch, ist das egal.

Aber wenn man durch verschiedene Dokumente wechseln will mit Ctrl+Tab, macht es einen Unterschied ob man die Ctrl-Taste gedrückt hält oder nicht. Erst wenn man Ctrl loslässt, wird der Fokus final geändert.

Alt+Tab unter Windows zeigt schön wie es funktionieren soll. Erst wenn man Alt loslässt, wird auch das Fenster tatsächlich fokussiert. Bricht man es ab, indem man eine andere Taste drückt, behält das ursprünglich fokussierte Fenster den Fokus.

Gibt es eine Methode wie man solche "komplexen" Shortcuts implementieren kann?
HxD, schneller Hexeditor:
http://mh-nexus.de/hxd
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Wie kann man Ctrl+Tab "Shortcut" richtig implementieren (VCL/Win32)

  Alt 16. Dez 2020, 16:37
Also gerade für STRG + Tab ist das ja eher ungewöhnlich wenn man den nächsten oder den vorherigen Reiter anspringen will. Beim Browser, Adobe Reader, ... wird die Action überall sofort ausgelöst.

Zwei Ausnahmen davon kenne ich allerdings. Beide sind von Microsoft und basieren auf dem gleichen System. Und zwar Visual Studio und das Microsoft SQL Server Management Studio. Dort gibt es so ein Stack Window das immer die zuletzt geöffnete Datei als nächstes anspringt. Hält man hier STRG gedrückt, bleibt das Fenster offen.

Willst du auch so etwas wie in SSMS und VS erreichen? Oder doch eher die normale Implementierung eines Tab Switchers?
Miniaturansicht angehängter Grafiken
tabswitch.png  
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#3

AW: Wie kann man Ctrl+Tab "Shortcut" richtig implementieren (VCL/Win32)

  Alt 16. Dez 2020, 18:27
Es kommt halt drauf an, ob man die Tastaturabfrage im FormOnKeyDown oder im FormOnKeyUp macht.

Im OnKeyDown könnte man halt z. B. das "Fenster" ala Alt+Tab von Windows anzeigen und dann bei jedem Drücken von Tab die Position des selektierten Icons um eins nach rechts verschieben. Bei zusätzlich gedrückter Umschalttaste um eins nach links. Und erst beim OnKeyUp wird dieses Fenster verborgen und zu dem zuletzt gewählten Ziel gewechselt.

Ob man nun im Tastaturereignis Alt+Tab abfragt oder Ctrl+Tab oder welche Kombination auch immer, ändert nichts an der grundsätzlichen Logik.

ShortCuts für TActions sind für sowas (leider) nicht geeignet.
  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 16:38 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