ウィンドウのオーナーや位置を設定し、描画対象のウィンドウを制御できます。
※このように描画対象のウィンドウを指定しない場合、IMediaControl.Run()メソッドを呼び出したときに新しいウィンドウが表示され、そのウィンドウに対して描画が行われます。IGraphBuilderのインスタンスから、キャストする形式で作成します。
IVideoWindow videoWindow; videoWindow = ( IVideoWindow )graphBuilder;
ウィンドウのオーナー (親ウィンドウ) を設定することで、アプリケーションのウィンドウ内に描画されるようになります。
videoWindow.put_Owner( this.Handle );
オーナーを設定するだけではタイトルバーを持ったウィンドウとして表示されるので、さらにウィンドウの表示スタイルを設定します。
videoWindow.put_WindowStyle( WindowStyle.Child | WindowStyle.ClipChildren );
| 列挙子 | 説明 |
|---|---|
| Popup | |
| Overlapped | |
| TabStop | |
| MaximizeBox | |
| MinimizeBox | |
| Group | |
| ThickFrame | |
| SysMenu | |
| HScroll | |
| VScroll | |
| DlgFrame | |
| Border | |
| Caption | |
| Maximize | |
| ClipChildren | |
| ClipSiblings | |
| Disabled | |
| Visible | |
| Minimize | |
| Child |
親ウィンドウのサイズ変更イベントで、ウィンドウのサイズを設定し直します。
videoWindow.SetWindowPosition(
0,
0,
this.ClientSize.Width,
this.ClientSize.Height
);