VB Formulare: Immer im Vordergrund

Indi

Member of Honour
Hallo,

ihr kennt das ja bei ICQ, dass es immer im Vordergrund am Bildschirm angezeigt wird und von einem anderen Programm nicht überdeckt werden kann. Bei manchen TV-Programmen geht das auch so.

Weiß vielleicht einer von euch den Code oder zumindest einen Ansatzpunkt, wie man das in VB machen kann? Das würde mir sehr helfen.

Danke im voraus.

Peter
 
hi Indi, das sollte dir helfen:

Folgenden Code in den allgemeinen Deklarationsabschnitt der Form einfügen:

Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd&, ByVal WndInsertAfter&, ByVal x&, ByVal y&, ByVal cx&, ByVal cy&, ByVal wFlags&)
Const SWP_SHOWWINDOW = &H40
Const HWND_TOPMOST = -1

Sub Vordergrund()
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / Screen.TwipsPerPixelX, Me.Top / Screen.TwipsPerPixelY, Me.Width / Screen.TwipsPerPixelX, Me.Height / Screen.TwipsPerPixelY, SWP_SHOWWINDOW

End Sub



Und nun den SUB-Aufruf 'Vordergrund' nur noch in den Ereigniss-Prozeduren Activate, DeActivate, Resize, GotFocus und LostFocus der Form einfügen!

Also:

Private Sub Form_Activate()
Vordergrund

End Sub

Private Sub Form_Deactivate()
Vordergrund
End Sub


Private Sub Form_GotFocus()
Vordergrund
End Sub


Private Sub Form_LostFocus()
Vordergrund

End Sub
 
Zurück
Oben