次の方法で共有


IDCompositionSurface::Scroll メソッド (dcomp.h)

Microsoft DirectComposition 論理サーフェスの四角形領域をスクロールします。

構文

HRESULT Scroll(
  [in]           const RECT *scrollRect,
  [in, optional] const RECT *clipRect,
  [in]           int        offsetX,
  [in]           int        offsetY
);

パラメーター

[in] scrollRect

サーフェスの左上隅を基準にして、スクロールするサーフェスの四角形の領域。 このパラメーターが NULL の場合、画面全体がスクロールされます。

[in, optional] clipRect

clipRect は、スクロールの宛先 (オフセット後の scrollRect) をクリップします。 スクロールされるビットマップ コンテンツは、スクロールが完了した後にクリップ四角形内に残っているコンテンツだけです。

[in] offsetX

水平スクロールの量 (ピクセル単位)。 正の値を使用して右にスクロールし、負の値を使用して左にスクロールします。

[in] offsetY

垂直スクロールの量 (ピクセル単位)。 正の値を使用して下にスクロールし、負の値を上にスクロールします。

戻り値

関数が成功した場合は、S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。 エラー コードの一覧については、「 DirectComposition エラー コード 」を参照してください。

解説

このメソッドを使用すると、アプリケーションは DirectComposition サーフェス オブジェクトのサブ四角形を blt/copy できます。 これにより、既に使用可能なコンテンツの再レンダリングが回避されます。

scrollRect 四角形は、サーフェスの境界に含まれている必要があります。 scrollRect 四角形がサーフェスの境界外に移動すると、このメソッドは失敗します。

スクロール操作 (ソース) によってコピーされたビットは、 scrollRect 四角形と clipRect 四角形の交差部分によって定義されます。

画面に表示されるビット (宛先) は、オフセットソースの四角形と clipRect の交差部分によって定義されます。

スクロール操作は、 BeginDraw を呼び出す前、または EndDraw を呼び出した後にのみ呼び出すことができます。 中断または再開されたサーフェスは、まだ更新中であるため、スクロールの候補ではありません。

アプリケーションは、 IDCompositionVirtualSurface のスクロール可能領域が有効なピクセルに制限されるようにする必要があります。 scrollRect 内の無効なピクセルの動作は未定義です。

トリムまたはサイズ変更操作によって破棄された仮想サーフェスのサブ四角形領域は、トリムまたはサイズ変更が同じバッチで適用されている場合でもスクロールできません。 トリミングサイズ変更 はすぐに適用されます。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー dcomp.h
Library Dcomp.lib
[DLL] Dcomp.dll

関連項目

IDCompositionSurface