TWindowsMediaPlayer

 
キモのソース 

Windowsに標準でインストールされているメディアプレイヤー。

そのメディアプレイヤーはエンジン部分が ActiveXになっており、その ActiveXを開発ソフトへ取り込んで利用することができます。つまり、自分好みの動画プレイヤーが作れるということ。

で、開発時にハマるのがウィンドウのリサイズに追従してくれないこと。私も散々悩んだのですが、ネットに解決策があったのでそれをシェアしようと思います。

Delphiのコードですが、他の言語も同様のことができるはずなので、ヒントを元に試行錯誤してみて下さい。

// フォームやコントロールのリサイズ時に呼び出す
procedure TWMPControl.ResizeEvent;
const
 IID_IOleInPlaceObject: TGUID = ‘{00000113-0000-0000-C000-000000000046}’;
var
 IOIPObj: IOleInPlaceObject;
begin
 FWMP.SetBounds(FWMP.Left, FWMP.Top, FWMP.Width, FWMP.Height);
 IDispatch(FWMP.OleObject).QueryInterface(IID_IOleInPlaceObject, IOIPObj);
 IOIPObj.SetObjectRects(FWMP.BoundsRect, FWMP.BoundsRect);
end;