Funktionstasten

Sie können Funktionstasten (F1-F35) über ein Skript belegen und damit im Modul Vision arbeiten. Dabei wird ein Control-Skript keypressed.ctl gestartet, welches sich im Verzeichnis ../scripts befinden muss. Der main()-Funktion werden folgende Parameter übergeben:

Syntax

main(int key, int mod)
{ 
  // hier erfolgt die Definition der
  Tastenbelegung und // die Wirkung
}

Parameter

Parameter Beschreibung
key Funktionstaste (KEY_F1 - KEY_F35)
mod modifier (KEY_CONTROL, KEY_ALT, KEY_SHIFT, KEY_META )

Beschreibung

Sie müssen ein Skript mit den gewünschten Tastenbelegungen schreiben. Das Skript muss in <proj_path>/scripts mit dem Namen keypressed.ctl gespeichert werden. Ist nun ein VISION-Modul aktiv und man betätigt die belegten Funktionstasten, so wird diese Funktion aufgerufen.

Anmerkung:

Falls keine Tastenbelegung erfolgt und keine Datei keypressed.ctl existiert, werden Windows Default Aktionen aufgerufen (z.B. die Tastenkombination <ALT> <F6> minimiert das aktuelle Vision Fenster).

Für <ALT> <F4> wird kein Key-Event ausgegeben und daher kann diese Tastenkombination mittels des Skripts keypressed.ctl nicht überschrieben werden. Um das Schließen eines Panels zu verhindern, muss im closeEvent des Panels ein leeres Skript (z.B. nur eine Zeile mit ";") definiert werden.

Beispiel

Wenn die Funktionstasten F1 und Shift gleichzeitig betätigt werden, werden der Modulname (vom offenen Modul) und die Nummern der Funktionstasten ausgegeben.

main(int key, int mod)
{ 
  string s; 
  if( (key==KEY_F1) &&
  (mod==KEY_SHIFT) ) 
  {
    s=myModuleName(); 
    DebugN(key, mod); 
    DebugN(s);
  }
}

Anmerkung:

Die Modifier-Keys können auch gemeinsam gedrückt werden. Die einzelne Modifier-Tasten können wie folgt abgefragt werden:

Wenn die Modifier-Keys F1, ALT und Shift gleichzeitig betätigt werden, werden der Modulname (vom offenen Modul) und die Nummern der Funktionstasten ausgegeben.

main(int key, int mod)
{ 
  string s; 
  if ( (mod & KEY_ALT)
  && 
  (mod & KEY_SHIFT)&& 
  (key == KEY_F1)) 
  {
    s=myModuleName(); 
    DebugN(key, mod); 
    DebugN(s); 
  }
}