Dynamische Funktionstasten

f-keys

#1

Die vom Designer generierten Funktionstasten sind zunächst einmal statisch, d.h. diese sind immer sichtbar, egal ob diese Funktionalität evtl. durch ein RPG-Programm deaktiviert wurde.

Hintergrund: Auf vielen Bildschirmen gibt es so viele Funktionstasten, so dass diese nicht in die unteren Zeilen passen. Es muss dann z.B. mit F24 die Anzeige umgeschaltet werden. In iNOW werden dann alle F-Tasten ohne Blättern angezeigt.
Oft werden aufgrund des eingeschränkten Platzes die Texte abgekürzt, was jetzt natürlich nicht mehr notwendig ist.

Dynamische Anpassungen

Es kann vorkommen dass nicht immer alle Funktionstasten sichtbar sind, weil diese z.B. aufgrund von Berechtigungen nicht verfügbar sind. Ebenso gibt es Fälle in denen sich die Funktion einer Taste (also eigentlich zunächst mal der Text) ändert.

Die einfache Variante um einen Funktionstaste auszublenden, ist das Setzen der Eigenschaft HideIfNotPresentOnScreen. Wenn dann der Funktionstastentext nicht angezeigt wird, dann wird die Taste ausgeblendet.

Wenn Sie möchten, dass sich der Text einer Funktionstaste automatisch dem Bildschirminhalt anpasst, dann setzen Sie die Eigenschaft IsStaticText auf False.

Bei komplexeren Szenarien können Sie mit einem Code Snippet im Ereignis HostDataChange die Funktionstasten dynamisch anzeigen, aktivieren/deaktivieren oder auch den Text ändern.

var scr = TerminalAdapter.ScreenData.Screen;
var isUpdate = scr.GetText(22, 22, 9) == "F5=Update";
flexFunctionButton6.Enabled = isUpdate;                        // deaktivieren
flexFunctionButton6.Visible = isUpdate;                        // ausblenden
flexFunctionButton6.Text = "ABC";                              // Text anpassen