Форум: "Media";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизКак закрыть окно после проигрывания mpeg файла? Найти похожие ветки
← →
Serg (2003-11-18 20:58) [0]Как закрыть окно после выполнение и отдать управление программой форме?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Controls,
Forms,
StdCtrls, MPlayer, ExtCtrls, OleCtnrs, DdeMan;
type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
OleContainer1: TOleContainer;
procedure FormCreate(Sender: TObject);
procedure OleContainer1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure OleContainer1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
procedure WMGetMinMaxInfo(var msg: TWMGetMinMaxInfo);
message WM_GETMINMAXINFO;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMGetMinMaxInfo(var msg:
TWMGetMinMaxInfo);
//Для разворачивания на весь экран
begin
inherited;
with msg.MinMaxInfo^.ptMaxTrackSize do begin
X := GetDeviceCaps( Canvas.handle, HORZRES ) +
(Width - ClientWidth);
Y := GetDeviceCaps( Canvas.handle, VERTRES ) +
(Height - ClientHeight );
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
const
Rect: TRect = (Left: 0; Top: 0; Right: 0; Bottom: 0);
FullScreen: Boolean = False;
begin
//Разворачиание на весь экран
FullScreen := not FullScreen;
if FullScreen then
begin
Rect := BoundsRect;
SetBounds( Left - ClientOrigin.X,
Top - ClientOrigin.Y, GetDeviceCaps( Canvas.handle,HORZRES )
+ (Width - ClientWidth), GetDeviceCaps( Canvas.handle,VERTRES )
+ (Height - ClientHeight ));
end;
mediaplayer1.Play;
if mediaplayer1.Mode= mpPlaying
then
mediaplayer1.displayRect:=olecontainer1.Clientrect;
end;
procedure TForm1.OleContainer1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//Закрытие после нажатия кнопки мыши
form1.close;
end;
procedure TForm1.OleContainer1KeyPress(Sender: TObject; var Key: Char);
begin
// Закрытие после нажатой кнопки в Form1 (ActiveControl=OleContainer1)
form1.close;
end;
end.
Очень срочно надо! Заранее спасибо.
← →
Думкин © (2003-11-19 05:10) [1]Технология Copy/Paste - в действии?
Пока нормально не задашь вопрос - вряд ли кто отвечать будет.
← →
ЮЮ © (2003-11-19 05:59) [2]1) Указать элемент на форме для вывода:
mediaplayer1.display := Panel1;
2) узнать об окончании воспроизмедения и скрыть этот элемент
см.TMediaPlayer.OnNotify
Panel1.Visible := false;
← →
Думкин © (2003-11-19 07:25) [3]
> [2] ЮЮ © (19.11.03 05:59)
У него еще и
> OleContainer1: TOleContainer;
пока не объяснит - чтот к чему - советовать не надо. ИМХО.
← →
ЮЮ © (2003-11-19 08:43) [4]>У него еще и OleContainer1: TOleContainer;
Он с него только мерки снимает:
mediaplayer1.displayRect:=olecontainer1.Clientrect;
← →
Думкин © (2003-11-19 11:39) [5]
> [4] ЮЮ © (19.11.03 08:43)
Ты видел его
> {$R *.DFM}.
где автор?
← →
serg (2003-11-19 20:18) [6]Сделал как Вы сказали но работает через раз!
Где-то чего то нехватает!procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
with Sender as TMediaPlayer do
begin
if mediaplayer1.mode = mpStopped then
begin
panel1.Enabled:=false;
olecontainer1.Enabled:=false;
panel1.visible:=false;
olecontainer1.Visible:=false;
end;
end;
end;
← →
serg (2003-11-19 20:48) [7]Вместо
if mediaplayer1.mode = mpStopped then
написалif notify=false then
Вродее все заработало. Спасибо ЮЮ © за напутствие!
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.03 c