CBaseControlVideo.SetDefaultTargetRect メソッド

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは SetDefaultTargetRect 、既定のターゲット ビデオ四角形 (純粋仮想) を設定します。 これは、ソース四角形がリセットされたときに呼び出される内部メンバー関数です。

構文

virtual HRESULT SetDefaultTargetRect() = 0;

パラメーター

このメソッドにはパラメーターはありません。

戻り値

HRESULT 値を返します。

解説

派生クラスは、変換先のビデオ四角形をリセットするために、これをオーバーライドする必要があります。 CBaseControlVideo::SetDefaultDestinationPosition メンバー関数から呼び出されます。

次の例は、派生クラスでのこの関数の実装を示しています。

// This is called when you reset the default target rectangle.
HRESULT CVideoText::SetDefaultTargetRect()
{
    VIDEOINFO *pVideoInfo = (VIDEOINFO *) m_pRenderer->m_mtIn.Format();
    BITMAPINFOHEADER *pHeader = HEADER(pVideoInfo);
    RECT TargetRect = {0,0,m_Size.cx,m_Size.cy};
    m_pRenderer->m_DrawImage.SetTargetRect(&TargetRect);
    return NOERROR;
}

この例では、CVideoText は CBaseControlVideo から派生したクラスであり、m_pRenderer は CBaseVideoRenderer から派生したクラスのオブジェクトを保持し、派生クラスで定義されているm_DrawImage データ メンバーは CDrawImage オブジェクトを保持します。 m_mtIn データ メンバーは、派生クラスでも定義され、入力ピンのメディアの種類を持つ CMediaType オブジェクトを保持します。

要件

要件
ヘッダー
Ctlutil.h (Streams.h を含む)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CBaseControlVideo クラス