immer der schwarze Kasten zu sehen wo das Previewwindow war. Gibt es keine möglichkeit dieses GUI- Element wieder zu entfernen?
Entfernen ist nicht sinnvoll - dann bekommst du es nicht wieder zum Laufen. Wenn du das schwarze Capture-Window (es ist kein Control, sondern ein separates Fenster) nicht sehen magst, schieb einfach ein Child-Window bei Bedarf drauf.
Hier der betreffende Teil aus meinem Bsp. um das Child-Window ergänzt.:
Spoiler anzeigen
$hWnd_Blende = GUICreate("", 322, 242, 9, 9, $WS_POPUP, $WS_EX_MDICHILD, $hWnd_Camera) ; == Child Erstellen
GUISetState(@SW_SHOW, $hWnd_Blende) ; == Child zeigen --> überdeckt das Capture-Fenster
WinSetOnTop($hWnd_Camera, '', 1)
GUISetState(@SW_SHOW, $hWnd_Camera)
While True
Sleep(50)
WEnd
Func _exit()
_WebcamClose($idCam)
Exit
EndFunc
Func _CameraOnOff()
; == Kamera (de)aktivieren - Standbild An/Aus
If $isCamera = 0 Then
GUICtrlSetData($btCamera, 'Kamera AUS')
GUICtrlSetColor($btCamera, 0xFF0000)
GUICtrlSetState($btFoto, $GUI_ENABLE)
GUISetState(@SW_HIDE, $hWnd_Blende) ; == Kamera wird aktiviert --> Child ausblenden
_WebcamActive($idCam)
Else
GUICtrlSetData($btCamera, 'Kamera EIN')
GUICtrlSetColor($btCamera, 0x008000)
GUICtrlSetState($btFoto, $GUI_DISABLE)
GUISetState(@SW_SHOW, $hWnd_Blende) ; == Kamera wird deaktiviert --> Child einblenden
_WebcamInactive($idCam)
EndIf
$isCamera = BitXOR($isCamera, 1)
If $isCamera = 1 Then _PreviewOnOff()
EndFunc