Microsoft DirectX 8.0

IVideoWindow オブジェクト

IVideoWindow オブジェクトは、ビデオ レンダラのビデオ ウィンドウのプロパティをサポートする。このオブジェクトは、Microsoft® Visual Basic® および Microsoft® Visual C++® を通じてアクセスできるデュアル インターフェイスであり、汎用ビデオ ウィンドウを制御する。一般的にこのオブジェクトは、ディスプレイ上のウィンドウ内でビデオを描画するビデオ レンダラである。

IVideoWindow オブジェクトはプロパティとメソッドの両方をサポートする。複数のプロパティを同時に変更する必要がある操作では、関連する多数のプロパティを同時に変更するメソッドを利用できる。たとえば、ウィンドウの位置とサイズを設定するときは、4 個の別々のプロパティを呼び出してもよいし、SetWindowPosition という 1 つのメソッドを呼び出してもよい。

IVideoWindow のプロパティとメソッドを使用するには、ビデオ レンダラを接続する必要がある。

プロパティ

AutoShow 最初に状態が変化したときにウィンドウを自動的に表示するかどうかを指定するフラグを取得または設定する。
BackgroundPalette レンダラがパレットをバックグラウンドで適用するかどうかを示すフラグを取得または設定する。
BorderColor ビデオ ウィンドウの境界線の色を取得または設定する。
Caption 再生ウィンドウのテキスト キャプションを取得または設定する。
FullScreenMode フルスクリーン モードの種類を取得または設定する。
Height ビデオ ウィンドウの高さを取得または設定する。
Left ビデオ ウィンドウの x 軸座標を取得または設定する。
MessageDrain ビデオ ウィンドウがメッセージの受信またはポストに使用するウィンドウ ハンドルを取得または設定する。
NotifyOwnerMessage 親ウィンドウが受信したメッセージを、フィルタの所有する子ウィンドウに転送する。
Owner ビデオ再生ウィンドウを所有する親ウィンドウを取得または設定する。
Top ビデオ ウィンドウの y 軸座標を取得または設定する。
Visible ウィンドウの表示/非表示の状態を取得または設定する。
Width ビデオ ウィンドウの幅を取得または設定する。
WindowState 表示/非表示、最小化など、現在のウィンドウの状態を取得または設定する。
WindowStyle 再生ウィンドウのスタイルを取得または設定する。
WindowStyleEx 再生ウィンドウの拡張スタイル ビットを取得または設定する。

メソッド

GetMaxIdealImageSize ビデオ画像再生 (クライアント) 領域の理想最大画像サイズを取得する。
GetMinIdealImageSize ビデオ画像再生 (クライアント) 領域の理想最小画像サイズを取得する。
GetRestorePosition 最大化および最小化を行うときに、元のビデオ ウィンドウ サイズを取得する。
GetWindowPosition ビデオ ウィンドウの位置を取得する。
HideCursor カーソルを非表示にする。
IsCursorHidden カーソルの表示/非表示の状態を取得する。
NotifyOwnerMessage フィルタ グラフのパレットおよび色の変更メッセージを渡す。
SetWindowForeground ビデオ ウィンドウをフォアグラウンド ウィンドウに設定し、オプションでビデオ ウィンドウにフォーカスを移す。
SetWindowPosition ディスプレイ上のビデオ ウィンドウの位置を設定する。

AutoShow プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ウィンドウを自動的に表示するかどうかの情報を取得または設定する。

構文

objVideoWindow.AutoShow [= boolean]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
boolean
TRUE は、状態が変わったときにウィンドウが表示されることを示す。

注意

多くの簡単なアプリケーションでは、フィルタ グラフがトランスポート状態に設定されたときにウィンドウを表示する必要がある。このプロパティはデフォルトでオン (–1) に設定されているため、グラフがポーズ状態からトランスポート状態に移行すると、ウィンドウが表示される。ウィンドウは同時にフォアグラウンド ウィンドウに設定される。ウィンドウを閉じない限り、それ以降は、ポーズ状態またはトランスポート状態に移行するたびにウィンドウが表示される。ウィンドウを閉じた場合は、レンダラがいったん停止状態になるまでウィンドウは表示されない。このプロパティをオフ (0) に設定すると、ウィンドウを明示的に表示しない限り、ウィンドウは非表示状態にとどまる。ウィンドウを明示的に表示するには Visible プロパティを設定する。

BackgroundPalette プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

必要なパレットがバックグラウンドで適用されるかどうかを決定する。

構文

objVideoWindow.BackgroundPalette [= boolean]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
boolean
パレットが適用されるかどうかを示すフラグ。

注意

このプロパティが TRUE (–1) の場合、レンダラは、必要とされるすべてのビデオ パレットをバックグラウンドで適用する。これは、パレットが使用するすべての色が、描画を行う前に、ディスプレイ パレットの最も近い色に変更されることを意味する。これにより、ビデオを再生するときにアプリケーションのパレットが乱れないことが保証される。ただし、この操作はビデオにかかるパフォーマンスの負担が大きいため、絶対に必要でない限り、使用しないこと。このプロパティのデフォルト値は FALSE (0) である。

BorderColor プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの境界線の色を取得または設定する。

構文

objVideoWindow.BorderColor [= Color]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
Color
新しい境界線の色。

注意

設定されている転送先矩形がウィンドウの表示クライアント領域と異なる場合は、周辺部に境界線が表示される。このプロパティを利用して、アプリケーションは、境界線の色を変更できる。色はデフォルトでは黒に設定されている。システム カラー以外の色を渡すと、渡された色は、色を使用する前に、現在のパレットに従って、最も近い色に変換される。True Color デバイスではその必要はない。このプロパティを設定すると、ウィンドウの境界線は、自動的に新しい色で再描画される。

Caption プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウのテキストのタイトル文字列を取得または設定する。

構文

objVideoWindow.Caption [= string]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
string
ウィンドウのタイトル キャプションの新しい値。

FullScreenMode プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウでフルスクリーン モードを使用するかどうかを示すフラグを取得または設定する。

構文

objVideoWindow.FullScreenMode [= boolean]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
boolean
新しいフラグの値。TRUE はフルスクリーン モードを示し、FALSE はフルスクリーン モードを使用しないことを示す。

GetMaxIdealImageSize メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ画像再生 (クライアント) 領域の理想最大画像サイズを取得する。

構文

objVideoWindow.GetMaxIdealImageSize Width, Height

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
Width
画像の幅が格納される Long 型の値。
Height
画像の高さが格納される Long 型の値。

GetMinIdealImageSize メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ画像再生 (クライアント) 領域の理想最小画像サイズを取得する。

構文

objVideoWindow.GetMinIdealImageSize Width, Height

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
Width
画像の幅が格納される Long 型の値。
Height
画像の高さが格納される Long 型の値。

GetRestorePosition メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ウィンドウを最小化した後、元に戻す場合に、ウィンドウのサイズと位置を取得する。

構文

objVideoWindow.GetRestorePosition Left, Top, Width, Height

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
Left
ビデオ ウィンドウの x 軸の原点を返す。
Top
ビデオ ウィンドウの y 軸の原点を返す。
Width
ビデオ ウィンドウの幅を返す。
Height
ビデオ ウィンドウの高さを返す。

GetWindowPosition メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

現在のウィンドウ矩形 (クライアント領域ではない) をデバイスの座標で取得する。

構文

objVideoWindow.GetWindowPosition Left, Top, Width, Height

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
Left
ウィンドウの x 軸の原点を返す。
Top
ウィンドウの y 軸の原点を返す。
Width
ウィンドウの幅を返す。
Height
ウィンドウの高さを返す。

注意

このメソッドには、Left プロパティ、Top プロパティ、Width プロパティ、および Height プロパティを個別に設定するのと同じ効果がある。

Height プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの高さを取得または設定する。

構文

objVideoWindow.Height [= lValue]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
lValue
ビデオ ウィンドウの縦の長さの新しい値。

注意

Height プロパティを変更しても、Width プロパティ (ビデオ ウィンドウの y 座標) は影響を受けない。

HideCursor メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

カーソルがビデオ再生ウィンドウの上を通過したときに、カーソルを表示するかどうかを指定する。

構文

objVideoWindow.HideCursor bValue

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
bValue
カーソルを表示するかどうかを示すブール型の値。TRUE はカーソルを表示せず、FALSE はカーソルを表示する。

注意

通常、フルスクリーン再生を使用する場合は、ユーザーの気が散らないようにカーソルを表示しない。

次のコードは、このメソッドの使い方を示している。

	Dim o_objVideoWindow As IVideoWindow	'IVideoWindow オブジェクトを初期化
	Dim g_objMediaControl As IMediaControl	'IMediaControl オブジェクトを初期化

	Set g_objVideoWindow = g_objMediaControl	'再生ウィンドウを
					'フィルタ グラフに割り当てる
	g_objVideoWindow.HideCursor (True)	'カーソルを非表示にする

IsCursorHidden メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

カーソルの表示/非表示の状態を取得する。

構文

objVideoWindow.IsCursorHidden bValue

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
bValue
カーソルの表示/非表示の状態が格納されるブール型の値。カーソルが非表示状態であれば TRUE、表示状態であれば FALSE になる。

注意

通常、フルスクリーン再生を使用する場合は、ユーザーの気が散らないようにカーソルを表示しない。

次のコードは、このメソッドの使い方を示している。

	Dim o_objVideoWindow As IVideoWindow	'IVideoWindow オブジェクトを初期化
	Dim g_objMediaControl As IMediaControl	'IMediaControl オブジェクトを初期化
	Dim bTest As Boolean			'ストレージ変数を初期化

	Set g_objVideoWindow = g_objMediaControl	'再生ウィンドウを
					'フィルタ グラフに割り当てる
	g_objVideoWindow.IsCursorHidden (bTest)	'カーソルが非表示かどうかをチェックする

Left プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの x 座標を取得または設定する。

構文

objVideoWindow.Left [= lValue]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
lValue
x 軸座標の新しい値。

注意

このプロパティを呼び出しても、ビデオ ウィンドウの幅は影響を受けない。

MessageDrain プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウ宛てにポストされたメッセージを受け取るウィンドウのウィンドウ ハンドルを取得または設定する。

構文

objVideoWindow.MessageDrain [= handle]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
handle
ウィンドウ ハンドルの新しい値。

NotifyOwnerMessage メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

親ウィンドウが受信したメッセージを、フィルタが所有する子ウィンドウに転送する。

構文

objVideoWindow.NotifyOwnerMessage hwnd, uMsg, wParam, lParam

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
hwnd
ウィンドウ ハンドル。
uMsg
送られるメッセージ。
wParam
メッセージの wParam
lParam
メッセージの lParam

Owner プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウを所有する親を取得または設定する。

構文

objVideoWindow.Owner [= handle]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
handle
ウィンドウ ハンドルの新しい値。

注意

このプロパティを利用して、アプリケーションはビデオ ウィンドウの所有者を設定できる。この機能は、複合ドキュメントでビデオを再生するときによく使用される。

SetWindowForeground メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウをフォアグラウンド ウィンドウに設定し、オプションでビデオ ウィンドウにフォーカスを移す。

構文

objVideoWindow.SetWindowForeground Focus

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
Focus
ビデオ ウィンドウにフォーカスを移すかどうかを指定する Long 型の値。値 –1 は、ウィンドウにフォーカスを移す。0 はウィンドウにフォーカスを移さない。

SetWindowPosition メソッド (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの位置 (クライアント矩形の位置ではない) をデバイスの座標で設定する。

構文

objVideoWindow.SetWindowPosition Left, Top, Width, Height

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
Left
ウィンドウの x 軸の原点を指定する。
Top
ウィンドウの y 軸の原点を指定する。
Width
ウィンドウの幅を指定する。
Height
ウィンドウの高さを指定する。

注意

ビデオを表示する位置をウィンドウの座標で指定する。たとえば、転送先を (100,50,200,400) に設定すると、ビデオ再生画像は、クライアント領域の左端から 100 ピクセル、上端から 50 ピクセルの位置に原点を持ち、全体のサイズが 200 x 400 ピクセルになる。ビデオがこれより小さい場合、またはビデオより小さい転送元矩形が指定されている場合は、ビデオ画像が表示領域に合わせて拡大される。同様に、ビデオが転送先矩形より大きい場合、ビデオは矩形の表示領域に合わせて縮小される。アプリケーション側で転送元と転送先の矩形を同じサイズにしないと、パフォーマンスに大きな負担がかかる。

転送先矩形が設定されていない標準的な環境では、ユーザーがウィンドウをどれだけ拡大しても、ビデオは表示クライアント ウィンドウ領域全体を満たす。また、転送先矩形のプロパティは、ビデオ ウィンドウ クライアント領域のサイズを正しく返す。

このメソッドには、Left プロパティ、Top プロパティ、Width プロパティ、および Height プロパティを個別に設定するのと同じ効果がある。

Top プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの y 軸座標を取得または設定する。

構文

objVideoWindow.Top [= lValue]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
lValue
y 軸の原点の新しい値。

注意

このプロパティを呼び出しても、ビデオ ウィンドウの高さは影響を受けない。

Visible プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの表示/非表示の状態を取得または設定する。

構文

objVideoWindow.Visible [= boolean]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
boolean
TRUE に設定されているとウィンドウが表示される。FALSE の場合、ウィンドウは表示されない。

Width プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの幅を取得または設定する。

構文

objVideoWindow.Width [= lValue]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
lValue
幅の新しい値。

注意

Width プロパティは、ビデオ ウィンドウの Height プロパティ (x 座標) とは無関係である。

WindowState プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウの状態を取得または設定する。

構文

objVideoWindow.WindowState [= lValue]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
lValue
WindowState プロパティの新しい値。

WindowStyle プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウのスタイル パラメータを取得または設定する。

構文

objVideoWindow.WindowStyle [= lValue]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
lValue
WindowStyle プロパティの新しい値。

注意

すべてのウィンドウ スタイルの一覧については、Microsoft® Platform Software Development Kit (SDK) の「CreateWindow 関数」を参照すること。

WindowStyleEx プロパティ (IVideoWindow オブジェクト)

IVideoWindow オブジェクト

ビデオ ウィンドウのスタイル パラメータを変更する。

構文

objVideoWindow.WindowStyleEx [= lValue]

指定項目

objVideoWindow
評価結果が IVideoWindow オブジェクトになるオブジェクト式。
lValue
フラグの新しい値。有効な値は、Microsoft Win32 GetWindowLong 関数の GWL_STYLE 値によって設定できるフラグに限られる。