meilon
Erfahrenes Mitglied
Hi,
da ich für eine modifizierbare Trayfunktion den Eintrag in der Taskbar ein und ausschalten will, habe ich mir eine API besorgt, weil man ja leider me.showintaskbar währen der Laufzeit ja nicht ändern kann.
Hier erstmal die API
Das Ein- und Ausschalten funktioniert Prima, nur leider wird beim wieder in die Taskbar schicken die Form und all ihre Elemente "gespiegelt".
Da ich mich mit API's net sonderlich gut auskenne, überlasse ich das mal den Profis hier
mfg
PS: Beim ScreenShot machen (mit HyperSnap) habe ich bemerkt, dass er für das Control erst wo anders hinwolte, nämlich rechts der sichtbaren Form, hoffe es hilft!
da ich für eine modifizierbare Trayfunktion den Eintrag in der Taskbar ein und ausschalten will, habe ich mir eine API besorgt, weil man ja leider me.showintaskbar währen der Laufzeit ja nicht ändern kann.
Hier erstmal die API
Code:
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Const SW_SHOW = 5
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_TOOLWINDOW = &H80&
Public Sub FormShowInTaskbar(hWnd As Long, Visible As Boolean)
Dim lResult As Long
lResult = ShowWindow(hWnd, SW_HIDE)
DoEvents
lResult = SetWindowLong(hWnd, GWL_EXSTYLE, IIf(Visible, -WS_EX_TOOLWINDOW, WS_EX_TOOLWINDOW))
DoEvents
lResult = ShowWindow(hWnd, SW_SHOW)
End Sub
Da ich mich mit API's net sonderlich gut auskenne, überlasse ich das mal den Profis hier
mfg
PS: Beim ScreenShot machen (mit HyperSnap) habe ich bemerkt, dass er für das Control erst wo anders hinwolte, nämlich rechts der sichtbaren Form, hoffe es hilft!