各位同志大家好:
    小弟在做一个多媒体播放器碰到了点问题,就是我用Delphi自带的MediaPlayer来播放,若把它放在其它组件上,这不会出现在屏幕中间哪位大虾能够解决啊?
                                    殷翼

解决方案 »

  1.   

    放一个Panel1在你想要的位置,调整为你想要的大小
    将MediaPlayer的Display属性设为Panel1
      

  2.   

    MediaPlayer1.DisplayRect.top/bottom/left/right
    表示正在显示的视频的上,下,左,右的坐标(相对于其容器)
    下面的代码可以使Panel1的大小动态的改变为视频的大小:procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
      var DoDefault: Boolean);
    var
     TopInt,BotInt,LeftInt,RightInt:integer;
    begin
     TopInt:=MediaPlayer1.DisplayRect.Top ;
     BotInt:=MediaPlayer1.DisplayRect.Bottom ;
     LeftInt:=MediaPlayer1.DisplayRect.Left ;
     RightInt:=MediaPlayer1.DisplayRect.Right ;
     Panel1.Height :=BotInt-TopInt;
     Panel1.Width :=RightInt-LeftInt;
    end;这是笨办法,不知道有没有更好的方法。另:不能直接用Panel1.Height:=MediaPlayer1.DisplayRect.Bottom-MediaPlayer.DisplayRect.Top;
    不知道为什么。知道了视频和Panel1的大小,位置,你总可以把它调到中间的,对吧。你也可以把视频的大小定死为Panel1的大小,这样操作起来就方便多了:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
     MediaPlayer1.DisplayRect:=Rect(3,3,Panel1.Width-6,Panel1.Height-6);
    end;