AGB  ·  Datenschutz  ·  Impressum  







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

Zwischen doppelten ShortCuts wählen

Ein Thema von uligerhardt · begonnen am 7. Okt 2011 · letzter Beitrag vom 7. Okt 2011
Antwort Antwort
Benutzerbild von uligerhardt
uligerhardt
Online

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#1

Zwischen doppelten ShortCuts wählen

  Alt 7. Okt 2011, 09:05
Ich habe auf einer Form eine große Menge von Actions - manche direkt in der Form definiert, manche auf Frames, die dynamisch instantiiert werden, usw.usf. Dabei gibt es doppelte ShortCuts - z.B. könnte die Form eine Aktion mit Strg+S definieren und ein gerade aktiver Frame ebenso. Drückt der Benutzer jetzt Strg+S, so sucht die VCL den ShortCut in den vorhandenen Aktionen in einer fixen Reihenfolge (Erstelllungsreihenfolge?).

Ich hätte es gerne kontextsensitiv: Wenn der Frame aktiv ist, soll "seine" Aktion ausgelöst werden, anderenfalls die der Form. Meine Lösung besteht momentan darin, in den relevanten Eventhandlern alle Aktionen durchzunudeln und bei allen gerade uninteressanten Aktionen den ShortCut auf 0 zu setzen, wenn es eine Kollision gibt. Das wird aber auf Dauer ziemlich verwickelt. Kennt ihr da eine schönere Lösung - etwa die gerade relevanten ActionLists nach "vorne" zu schieben?
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Zwischen doppelten ShortCuts wählen

  Alt 7. Okt 2011, 09:31
Benutze doch die Tag-Eigenschaft der Actionlist als eine Art Priorität und werte diese dann in Deiner bestehenden Routine aus. Außerdem gibt es da noch die Eigenschaft State die Du benutzen könntest. Ich weiß aber nicht ob schon in D2007.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt
Online

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Zwischen doppelten ShortCuts wählen

  Alt 7. Okt 2011, 11:05
Außerdem gibt es da noch die Eigenschaft State die Du benutzen könntest. Ich weiß aber nicht ob schon in D2007.
State gibt's schon in D2007, aber leider nur für komplette ActionLists, nicht für einzelne Actions. Wenn ich bei der ActionList der nachrangig zu behandelnden Aktion State auf asSuspended stelle, wird tatsächlich die bisher verdeckte, dem Kontext angemessene Aktion aufgerufen. Leider sind alle anderen Aktionen dieser ActionList auch disabled, obwohl sie keine Kollisionen verursachen würden. :-/

Mal sehen, ob ich irgendwie die Reihenfolge der ActionLists verändern kann - TCustomForm.IsShortCut habe ich eh schon überschrieben.
Uli Gerhardt
  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 17: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