Ich habe ein kurzes Testprogramm zusammengestiefelt, damit man mein Problem sehen kann.
Wenn bei Euch die angegebene AVI Datei im Windows nicht vorhanden ist, dann einfach durch ein beliebiges kleines Video ersetzen, welches vom Mediaplayer abgespielt werden kann!
Es geht darum, dass man nach dem starten des Programmes das Fenster in der Grösse ändern soll. Darauf wird ein Event erzeugt (klappt)!
In diesem Event soll nun das Video in der Grösse als Vollbild angepasst werden.
Wie kann ich das erreichen?
Macht Euch um allfällige Verzerrungen etc. keine Sorgen. Im endgültigen Programm kann man das Fenster nur immer im gleichen Verhältnis vergrössern oder verkleinern! Somit wird das Video bestimmt nie verzerrt!
Hier das Testprogramm
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$hGUI1 = GUICreate("WDP", 300, 250, -1, -1, $WS_SIZEBOX)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_RESIZED, "_Resize")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$oWMP1 = ObjCreate("WMPlayer.OCX")
If Not IsObj($oWMP1) Then Exit
$hWMP1 = GUICtrlCreateObj($oWMP1, 0, 0, 300, 250)
With $oWMP1
.URL = "C:\Windows\winsxs\x86_microsoft-windows-t..flicklearningwizard_31bf3856ad364e35_6.1.7600.16385_none_0d580453d317a99d\FlickAnimation.avi"
Local $iEmergencyTimerWMP = TimerInit()
While StringInStr(.status(), '...') ;Wait while status = Connecting...
If TimerDiff($iEmergencyTimerWMP) > 2000 Then ExitLoop
Sleep(100)
WEnd
.settings.autoStart = False
.controls.stop() ;Stop, to ensure, that they are at the beginning!
.fullscreen = True
.stretchToFit = True
.settings.setMode('loop', True)
.settings.playCount = 1000000
.settings.rate = 1
.uiMode = 'none'
.settings.volume = 100
.settings.mute = True
.enableContextMenu = True
EndWith
$oWMP1.controls.play()
[/autoit] [autoit][/autoit] [autoit]While Sleep(10)
WEnd
Exit
Func _Resize()
Local $aSize = WinGetPos($hGUI1)
ConsoleWrite("Resize: " & GUICtrlSetPos($hWMP1, 0, 0, $aSize[2], $aSize[3]) & @CRLF)
EndFunc ;==>_Resize
Func _Exit()
Exit
EndFunc ;==>_Exit
Wie kann ich die _Resize Funktion so ändern, dass das Video immer das ganze Fenster ausfüllt?
Gruss, Veronesi