Produkt: | Elvis |
Stand: | 2005-01-19 |
Zusammenfassung
Um die Bedienstation im Vollbildmodus zu starten, kann man den Befehlszeilenparameter „/k“ (Kiosk-Modus) benutzen. Dadurch wird jedoch gleichzeitig eine Passwortabfrage beim Verlassen des Vollbildmodus aktiviert.
Dieser Artikel beschreibt eine alternative Möglichkeit über die Ereignisverarbeitung der Bedienstation.
Bemerkung: In späteren Elvis-Versionen (höher als 2.3.234) wird diese Funktionalität auch einfacher über einen Befehlszeilenparameter „/f“ (FullScreen-Modus) verfügbar sein.
Einzelheiten
Die Idee ist, im Form_Load-Ereignis der Startseite die Bedienstation auf Vollbildmodus zu schalten:
//CODE:vb:Sub Form_Load()
If Not IsFullScreen() Then
Application.DoCommand „ToggleFullScreen“
End If
End Sub //CODE
Die Abfrage „Not IsFullScreen()“ ist erforderlich, um zu verhindern, dass bei neuerlichem Aufruf der Startseite der Volbildmodus wieder verlassen wird.
Die Funktion „IsFullScreen“ wird in der Startseite unter („global“) definiert:
//CODE:vb:Type Rect
nLeft As Long
nTop As Long
nRight As Long
nBottom As Long
End Type
Declare Function GetActiveWindow Lib „User32“ () As Long
Declare Sub GetWindowRect Lib „User32“ (ByVal hWnd As Long, ByRef lpRect As Rect)
Declare Function GetSystemMetrics Lib „User32“ (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0
Function IsFullScreen() As Boolean
Dim hWnd As Long
Dim r As Rect hWnd = GetActiveWindow()
If hWnd = 0 Then
IsFullScreen = False
Else
GetWindowRect hWnd, r
If r.nRight – r.nLeft > GetSystemMetrics(SM_CXSCREEN) Then
IsFullScreen = True
Else
IsFullScreen = False
End If
End If
End Function //CODE
Sie vergleicht die Breite des aktiven Fensters mit der Bildschirmbreite (im Vollbildmodus ist das Bedienstation-Fenster breiter als der Bildschirm, um den Rand unsichtbar zu machen).