minimirtes Fenster in der Taskleiste blinken lassen

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

minimirtes Fenster in der Taskleiste blinken lassen

Beitrag von andreas »

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?
Gruß,

Andreas
VIP der XUG Osnabrück
Günter Beyes
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 315
Registriert: Mo, 16. Okt 2006 13:04
Wohnort: Region Stuttgart

Beitrag von Günter Beyes »

Hallo Andreas,
Ich möchte, dass in meinem Programm ein bestimmtes Fenster in der Taskleiste blinkt, wenn es minimiert wird oder den Fokus verliert.
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.

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
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Günter,

wie immer hilfst nur du bei Windows API.
Du kennst dich da wirklich gut aus!
Danke! Funktioniert so, wie ich es mir vorgestellt habe.
Gruß,

Andreas
VIP der XUG Osnabrück
Antworten