![]() |
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Wenn es nicht so will wie du, und es ja offensichtlich keine Lösung gibt, wieso benutzt du die Komponente??
Hatte es mal installiert, und getestet, auch bei mir lässt sich in keiner weise der MediaPlayer an die Form anpassen. Selbst über umgebaute "Umwege" nicht. Außerdem ist mir aufgefallen, dass die Delphi Applikation mit dem MediaPlayer so extrem langsam läuft und stockt, das es nicht zu empfehlen ist, diesen zu verwenden. Schaue dich einfach nach einer anderen möglichkeit um, um das Problem zu lösen. |
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Hi AlexII,
ich hab nachgeschaut, das Problem mit dem Form-Resizing hatte ich hiermit in den Griff bekommen. Im Private-Teil der Form:
Delphi-Quellcode:
Im FormCreate:
InSizing: boolean;
procedure MyFormSizing(var Msg: TMessage); message WM_SIZING; procedure MyFormExitSizeMove(var Msg: TMessage); message WM_EXITSIZEMOVE;
Delphi-Quellcode:
die beiden Methoden:
procedure TfVideoMSMP.FormCreate(Sender: TObject);
begin InSizing := false; ... end
Delphi-Quellcode:
damit wird nach Resize der Form der Mediaplayer (Align = alClient) an die Größe der Form angepasst.
procedure TfVideoMSMP.MyFormSizing(var Msg: TMessage);
begin Msg.Result := 1; InSizing := true; end; // MyFormSizing procedure TfVideoMSMP.MyFormExitSizeMove(var Msg: TMessage); begin Msg.Result := 0; if InSizing then WindowsMediaPlayer.DoObjectVerb(OLEIVERB_SHOW); InSizing := false; end; // MyFormExitSizeMove Grüße, blauweiss |
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Ja es funkt, danke dir! :thumb:
|
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Fehlt da nicht nen "T" vor "Form"??
|
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Zitat:
Hab jetzt aber das andere Problem, beim Maximieren bleibt der Player so wie er war, wird also nicht mit maximiert. |
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Zitat:
witzig, genau das ist mir in meinem Projekt gerade auch aufgefallen ! :P Maximieren ist ein Problem, weil es dafür irgendwie kein vernünftiges Event zu geben scheint (oder ich hab nix gefunden). Habe dafür diese Lösung im Angebot: Zusätzlich im private-Teil der TForm :zwinker:
Delphi-Quellcode:
im FormShow (oder FormCreate)
OldWindowState: TWindowState;
procedure MyFormSize(var Msg: TMessage); message WM_SIZE;
Delphi-Quellcode:
und in der Methode MyFormSize:
OldWindowState := WindowState;
Delphi-Quellcode:
damit funktioniert's bei mir jetzt auch beim Maximize bzw. Wiederherstellen.
procedure TfVideoMSMP.MyFormSize(var Msg: TMessage);
begin Msg.Result := 0; if (WindowState <> OldWindowState) then WindowsMediaPlayer.DoObjectVerb(OLEIVERB_SHOW); OldWindowState := WindowState; end; // MyFormSize Grüße, blauweiss |
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Und bei mir klappt das nicht... :( Dazu noch funktioniert auch dein erster Code nicht, ich meine im Kombination mit dem für maximieren.
|
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Und was genau klappt nicht....?
Ich mußte bei mir in der Methode MyFormSize noch ein inherited reinmachen, lag aber daran, daß mein TfVideoMSMP von einer anderen TForm abgeleitet ist:
Delphi-Quellcode:
Setz mal einen Breakpoint in diese Routine, kommt der Debugger bei Dir dorthin ?
procedure TfVideoMSMP.MyFormSize(var Msg: TMessage);
begin inherited; Msg.Result := 0; ... Grüße, blauweiss |
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Also mit inherited; funktioniert jetzt alles. :thumb:
Aber das Video selbst wird beim maximieren nicht vergrößert, ist das normal so? Wenn man aber auf "Vollbild" klickt wird das Video groß. PS. weiß du zufällig wie man Zoom im Player per Code ändert? |
Re: WinMediaPlayer lässt sich auf einem Form nicht maximiere
Bei mir wird das Video-Fenster irgendwann auch nicht mehr größer beim Resize, nur der Rahmen drumrum.
Probier mal "FullScreen" auf true zu setzen (hat bei mir auf die Schnelle nicht geklappt, bin gerade an einem anderen Projekt am kämpfen...) 8-) blauweiss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz