В Продолжение этой темы!
Я скопировал 3 файла который указаны в последнем собщении.
Нашёл ту самую процедуру и внес туда изменения, со своими корективами и удалось подогнать видео под начало контрола, но как его растянуть на весь контрол????
procedure TWindowsMedia.UpdateMediaFromControl;
var
P: TPointF;
R: TRect;
Bounds: TRectF;
Form: TCommonCustomForm;
begin
FVMRWindowlessControl9.SetAspectRatioMode(VMR9ARMode_LetterBox); // <-- Добавил
if FWnd <> 0 then
begin
if (Control <> nil) and not (csDesigning in Control.ComponentState) and (Control.ParentedVisible) and
(Control.Root <> nil) and (Control.Root.GetObject is TCommonCustomForm) then
begin
Form := TCommonCustomForm(Control.Root.GetObject);
P := GetVideoSize;
// Bounds := TRectF.Create(0, 0, P.X, P.Y); ЗАкомитил
Bounds := TRectF.Create(Control.Position.X, Control.Position.Y, Control.AbsoluteWidth, Control.AbsoluteHeight);// <-- Изменил, но высота и шрина не поддаются
Bounds.Fit(RectF(0, 0, Control.AbsoluteWidth, Control.AbsoluteHeight));
Bounds.Offset(Control.AbsoluteRect.Left, Control.AbsoluteRect.Top);
SetParent(FWnd, WindowHandleToPlatform(Form.Handle).Wnd);
SetWindowPos(FWnd, 0, Bounds.Round.Left, Bounds.Round.Top, Bounds.Round.Width, Bounds.Round.Height, 0);
R := TRect.Create(0, 0, Bounds.Round.Width, Bounds.Round.Height);
if FVMRWindowlessControl9 <> nil then
FVMRWindowlessControl9.SetVideoPosition(nil, @R);
if FVMRWindowlessControl7 <> nil then
FVMRWindowlessControl7.SetVideoPosition(nil, @R);
ShowWindow(FWnd, SW_SHOW)
end
else
ShowWindow(FWnd, SW_HIDE)
end;
end;
Прошу помощи...