Befehl per Taste ausführen

Es kann sinnvoll sein, dass man einen Dialogbefehl nicht nur per Mausklick ausführen kann, sondern auch per Tastendruck. Dazu muss man lediglich im Namen des Button vor dem Zeichen, das zum Tastenaufruf benutzt werden soll, das UND-Zeichen & einfügen. In der Dialogansicht des laufenden Skripts wird das UND-Zeichen unterdrückt und statt dessen das darauf folgende Zeichen unterstrichen.

Beispiel

aus "A&bbrechen" wird "Abbrechen" (Aufruf mit Taste B)
aus "&Start" wird "Start" (Aufruf mit Taste S)

Im Skript muss natürlich immer die Originalbenennung verwendet werden, also "A&bbrechen" und "&Start".

Skriptbeispiel (vbs)

'** Start Dialog Tastenbefehl **
FF_AddDialog "Tastenbefehl",120,36
FF_AddControl "Tastenbefehl","Fortschritt","PROGRESS",5,5,110,6
FF_AddControl "Tastenbefehl","A&bbrechen","BUTTON",17,17,33,11
FF_AddControl "Tastenbefehl","&Start","BUTTON",70,17,33,11
'** End Dialog Tastenbefehl **

FF_ActivateControl "Tastenbefehl","&Start"   'Wichtig, damit Tastenbefehle direkt wirksam werden

do
   Select Case FF_ShowDialog ("Tastenbefehl")
   Case "CANCEL","A&bbrechen"
      exit do
   Case "&Start"
      for n = 1 to 10
         FF_SetControl "Tastenbefehl","Fortschritt",n/10*100
         FF_Sleep 200
      next
      FF_SetControl "Tastenbefehl","Fortschritt",0
   End Select
loop
 
FF_CloseDialog ("Tastenbefehl")
 
Das Setzen des Fokus mit FF_ActivateControl auf eins der Button ist unbedingt erforderlich, damit direkt nach Dialogaufruf Befehle per Tastatur aufgerufen werden können. Wenn kein Befehlsfokus besteht, muss erst einmal ein Befehl per Mausklick aufgerufen werden.
Übrigens, hat ein Befehl den Fokus, kann er auch mit Betätigung der Leertaste aufgerufen werden.

Wichtig ist natürlich, dass bei Auswahl der Aufrufzeichen keins mehrfach verwendet wird.

Tipp

Will man einen Befehl verstecken und nur per Tastendruck aufrufbar machen, erzeugt man im Dialog einen Button mit der kleinstmöglichen Größe 1 x 1. Wenn man diesen geschickt platziert, wird er kaum entdeckt werden und doch kann er bei entsprechender Benennung aufgerufen werden.

Es kann sein, dass bei älteren Betriebssystemen bei Aufruf von Tastenbefehlen die ALT-Taste festgehalten werden muss.

Befehl per Taste ausführen