Titelleiste eines Formulares blinken lassen

Datenbank

Häufig benutzen Sie Formulare, um dem Anwender wichtige Hinweise anzuzeigen. Sind nun mehrere Formulare gleichzeitig geöffnet, können solche Hinweise schnell übersehen werden.

Um die Aufmerksamkeit des Anwenders trotzdem auf diesen Hinweis zu lenken, kann zunächst das Formular optisch besonders auffällig gestaltet werden, indem Sie zum Beispiel den Hintergrund auf die Farbe „Rot“ sowie die Schrift auf „Fett“ und „Gelb“ einstellen.

Eine weitere Möglichkeit, die Aufmerksamkeit des Anwenders auf den Hinweis zu lenken, besteht darin, die Titelleiste des Formulars mit dem Hinweis zusätzlich blinken zu lassen.

Für diesen Zweck können Sie die APIFunktion „FlashWindow“ nutzen, die als Parameter einmal einen Handle „hWnd“ auf das betreffende Fenster und einen Schalter „bInvert“ erwartet.

Ein Schalter legt fest, ob die Titelleiste des Fensters normal (bInvert= 0) oder invertiert (bInvert= 1) angezeigt werden soll. Über die Ereignisprozedur des Timers eines Formulars, dessen Eigenschaft „Zeitgeberintervall“ beispielsweise auf den Wert „500“ eingestellt ist, können Sie so die Titelleiste auffällig blinken lassen.

Die Ereignisprozedur „Timer“ des Formulars wird sofort nach dem Öffnen des Formulars gemäß eingestelltem Intervall aufgerufen und invertiert die Titelleiste entsprechend:

Sub Form_Timer ()
Dim X As Variant
X = FlashWindow(Me.hWnd, 1)
End Sub

Mit der Ereignisprozedur „Form_Unload()“ oder „btnOK_Click()“ einer Schaltfläche zur Bestätigung der Meldung wird die Invertierung dann wieder zurückgesetzt und die Titelleiste normal angezeigt:

Sub btnOK_Click ()
Dim X As Variant
X = FlashWindow(Me.hWnd, 0)
DoCmd Close
End Sub

Allerdings nützt die blinkende Titelleiste eines Formulars wenig, wenn das Access- Fenster minimiert wurde, weil beispielsweise in einer anderen Anwendung etwas nachgeschlagen werden muss.

Sie können jedoch den gleichen Mechanismus einsetzen, um auch die Titelleiste des Access-Fensters blinken zu lassen:

X = FlashWindow(Application. hWndAccessApp, 1)

Anstelle des Handles auf das Formular wird hier der Handle auf das Access- Fenster übergeben und so deren Titelleiste zum Blinken gebracht. Für eine Demonstration dieser Funktion öffnen Sie in der Beispieldatenbank das Formular „Test Access-Fenster blinken lassen“.


Speichern Sie das Modul „modFlashWindow“ ab.