Bonjour,
j'utilise donc C++ Builder 6, un mediaplayer, des dialogs, et plusieurs panels...
En fait je fais l'affichage de ma video sur un panel à l'aide du code suivant :
Puis quand je veux passer en plein écran, je gere l'event OnDbClick sur le panel, j'ai essayer de bidouiller un peu pour changer l'align du panel en mettant alClient, mais j'ai l'impression que l'affichage de la video dois faire un refresh, ou un repaint, quelque chose du genre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 if(OpenDialog1->Execute()) { Timer->Enabled=false; Image->Visible=true; Panel2->Visible=false; media_url=OpenDialog1->FileName; MediaPlayer1->FileName = OpenDialog1->FileName; if(FileExists(media_url)) { if(Image->Visible) Image->Visible=false; if(!Panel2->Visible) Panel2->Visible=true; Timer->Enabled=true; MediaPlayer1->Open(); MediaPlayer1->Display = Panel2; rec = MediaPlayer1->DisplayRect; rec.Left = Panel2->Left; rec.Top = Panel2->Top-15; rec.Bottom=Panel2->Height; rec.right=Panel2->Width; MediaPlayer1->DisplayRect = rec; } }
Sinon voici quand même le code (oui les valeurs en dur c'est laid, mais je suis en période de teste, on verra pour la suite)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 void __fastcall TForm1::ImageDblClick(TObject *Sender) { if(fullscreen) { MediaPlayer1->Visible=false; BitBtn1->Visible=false; Form1->WindowState=wsMaximized; Image->Align=alClient; Panel2->Align=alClient; fullscreen=false; } else { MediaPlayer1->Visible=true; BitBtn1->Visible=true; Form1->WindowState=wsNormal; Image->Align=alNone; Image->Top=3; Image->Left=16; Image->Height=480; Image->Width=649; Panel2->Align=alNone; Panel2->Top=16; Panel2->Left=0; Panel2->Height=481; Panel2->Width=681; fullscreen=true; } }
Voila, any ideas?
Merci
Partager