關於TMediaPlayer和Form->BorderStyle=bsNone的問題? |
尚未結案
|
nlj859
資深會員 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
當我按下Button1時,整個目前正在Panel上播放的影片會不見,但是聲音都還.
請問我要如何在按下Button後,能正確顯示螢幕最大時的影像?
謝謝.
void __fastcall TForm1::FormCreate(TObject *Sender) { MediaPlayer1->FileName="D:\\123.mpg"; MediaPlayer1->Display=Panel1; MediaPlayer1->DisplayRect=Rect(0,0, 320,240); MediaPlayer1->Open(); MediaPlayer1->Play(); } void __fastcall TForm1::Button1Click(TObject *Sender) { Panel1->Width =Screen->Width; Panel1->Height= Screen->Height; Form1->BorderStyle=bsNone; MediaPlayer1->Display=Panel1; MediaPlayer1->DisplayRect=Rect(0,0, Screen->Width, Screen->Height); } |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
nlj859: Form2: // include Form1 ClientHeight=240 ClientWidth=320 FormStyle=fsStayOnTop BorderIcons=bsNone // 下列Top,Left請依你Form2位置調整! Top= Left= Panel1: Align=alClient OnDblClick事件 // 為了回復正常 void __fastcall TForm2::Panel1DblClick(TObject *Sender) { Form2->WindowState=wsNormal; Form1->MediaPlayer1->DisplayRect=Rect(0,0, 320,240); } Form1: // include Form2 OnShow事件 // Show Form2 void __fastcall TForm1::FormShow(TObject *Sender) { Form2->Show(); MediaPlayer1->Close(); MediaPlayer1->FileName="D:\\暴笑美女.wmv"; MediaPlayer1->DisplayRect=Rect(0,0, 320,240); MediaPlayer1->Open(); MediaPlayer1->Play(); } MediaPlayer1: Displsy=Form2->Panel1 Button1: OnClick事件 void __fastcall TForm1::Button1Click(TObject *Sender) { Form2->WindowState=wsMaximized; Application->ProcessMessages(); Application->ProcessMessages(); MediaPlayer1->Display=Form2->Panel1; MediaPlayer1->DisplayRect=Rect(0,0, Screen->Width, Screen->Height); } 以上於BCB5.0成功 請參考!Andy Chang
------
Andy Chang |
nlj859
資深會員 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
引言: [code]nlj859: Form2: // include Form1 ClientHeight=240 ClientWidth=320 FormStyle=fsStayOnTop BorderIcons=bsNone //Should be BorderStyle=bsNone // 下列Top,Left請依你Form2位置調整! Top= Left= Panel1: Align=alClient OnDblClick事件 // 為了回復正常 void __fastcall TForm2::Panel1DblClick(TObject *Sender) { Form2->WindowState=wsNormal; Form1->MediaPlayer1->DisplayRect=Rect(0,0, 320,240); }Hello AndyChang, Why Form2? 不能只用一個Form和一個Panel就好嗎? |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
Hello AndyChang,
Why Form2?
不能只用一個Form和一個Panel就好嗎?
nlj859:理論當然可以那你的Form1上必須放置另一個Panel2放置Button,MediaPlayer1,Panel2的Align=alTop;你原Panel1的Align=alNone,Height=240,Width=320,MediaPlayer1的Displsy=Panel1 另外定義一些變數我直接將我程式Post上 #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int Panel_Top; int Panel_Left; int Form_Top; int Form_Left; int Form_Width; int Form_Height; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Form1->WindowState=wsMaximized; Form1->BorderStyle=bsNone; Panel2->Visible=false; Panel1->Align=alClient; Application->ProcessMessages(); Application->ProcessMessages(); MediaPlayer1->Display=Panel1; MediaPlayer1->DisplayRect=Rect(0,0, Screen->Width, Screen->Height); } //--------------------------------------------------------------------------- void __fastcall TForm1::Panel1DblClick(TObject *Sender) { Panel1->Align=alNone; Panel1->Width=320; Panel1->Height=240; Panel1->Top=Panel_Top; Panel1->Left=Panel_Left; Form1->BorderStyle=bsSizeable; Form1->WindowState=wsNormal; Form1->Height=Form_Height; Form1->Width =Form_Width ; Form1->Top =Form_Top ; Form1->Left =Form_Left ; Panel2->Visible=true; Application->ProcessMessages(); MediaPlayer1->DisplayRect=Rect(0,0, 320,240); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormShow(TObject *Sender) { MediaPlayer1->Close(); MediaPlayer1->FileName="D:\\暴笑美女.wmv"; MediaPlayer1->DisplayRect=Rect(0,0, 320,240); MediaPlayer1->Open(); MediaPlayer1->Play(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { Panel_Top=Panel1->Top; Panel_Left=Panel1->Left; Form_Height=Form1->Height; Form_Width=Form1->Width; Form_Top=Form1->Top; Form_Left=Form1->Left; } //--------------------------------------------------------------------------- 請你參考比較兩隻程式的差異!Andy Chang
------
Andy Chang |
nlj859
資深會員 發表:139 回覆:375 積分:322 註冊:2004-03-20 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |