Hallo ,
ich möchte, dass in meinem Programm ein bestimmtes Fenster in der Taskleiste blinkt, wenn es minimiert wird oder den Fokus verliert.
Kennt da jemand die Möglichkeit dazu?
minimirtes Fenster in der Taskleiste blinken lassen
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 315
- Registriert: Mo, 16. Okt 2006 13:04
- Wohnort: Region Stuttgart
Hallo Andreas,
Die Funktion wird im :killDisplayFocus-Callback aufgerufen; Blinken bei Minimierung wird dabei gleich mit erledigt.
Viele Grüße,
Günter
-------------------------------
am einfachsten geht das mit der API-Funktion FlashWindowEx(). Die kann so parametriert werden, dass das Taskbar-Icon zu blinken anfängt, sobald das Fenster den Anzeigefokus verliert, und automatisch solange weiter blinkt, bis das Fenster wieder in den Vordergrund kommt. Die Blinkfrequenz ist einstellbar.Ich möchte, dass in meinem Programm ein bestimmtes Fenster in der Taskleiste blinkt, wenn es minimiert wird oder den Fokus verliert.
Die Funktion wird im :killDisplayFocus-Callback aufgerufen; Blinken bei Minimierung wird dabei gleich mit erledigt.
Viele Grüße,
Günter
-------------------------------
Code: Alles auswählen
//Blinken nach Fokusverlust:
oDlg:killDisplayFocus := {|a,b,o|FlashDlg( o )}
PROCEDURE FlashDlg( oDlg )
LOCAL sFLASHWINFO
sFLASHWINFO := ;
U2Bin(20) + ; // Strukturgröße
L2Bin( oDlg:getHWND() ) + ; // Fensterhandle
U2Bin( 0x2 + 0xC ) + ; // Flags (Taskbar-Icon blinkt bis Fenster wieder im Vordergrund )
U2Bin(0) + ; // wie oft blinken (hier irrelevant)
U2Bin(1000) // Intervall 1000 Millisekunden
FlashWindowEx( sFLASHWINFO )
RETURN
DLLFUNCTION FlashWindowEx( sFLASHWINFO ) USING STDCALL FROM user32.dll