ScrollDC 関数 (winuser.h)

ScrollDC 関数は、ビットの四角形を水平方向および垂直方向にスクロールします。

構文

BOOL ScrollDC(
  [in]  HDC        hDC,
  [in]  int        dx,
  [in]  int        dy,
  [in]  const RECT *lprcScroll,
  [in]  const RECT *lprcClip,
  [in]  HRGN       hrgnUpdate,
  [out] LPRECT     lprcUpdate
);

パラメーター

[in] hDC

種類: HDC

スクロールするビットを含むデバイス コンテキストを処理します。

[in] dx

型: int

水平スクロールの量をデバイス単位で指定します。 このパラメーターは、左にスクロールするには負の値である必要があります。

[in] dy

型: int

垂直スクロールの量をデバイス単位で指定します。 このパラメーターは、上にスクロールするには負の値である必要があります。

[in] lprcScroll

型: const RECT*

スクロールするビットの座標を含む RECT 構造体へのポインター。 スクロール操作の影響を受けるビットは、この四角形と lprcClip で指定された四角形の交差部分にあるビットのみです。 lprcScrollNULL の場合は、クライアント領域全体が使用されます。

[in] lprcClip

型: const RECT*

クリッピング四角形の座標を含む RECT 構造体へのポインター。 描画されるビットは、スクロール操作が完了した後にこの四角形内に残るビットだけです。 lprcClipNULL の場合は、クライアント領域全体が使用されます。

[in] hrgnUpdate

種類: HRGN

スクロール プロセスによって明らかにされた領域にハンドルします。 ScrollDC は、この領域を定義します。必ずしも四角形ではありません。

[out] lprcUpdate

型: LPRECT

スクロール更新領域を囲む四角形の座標を受け取る RECT 構造体へのポインター。 これは、再描画が必要な最大の長方形領域です。 関数が戻るとき、構造体の値は、指定されたデバイス コンテキストのマッピング モードに関係なく、クライアント座標内にあります。 これにより、アプリケーションは、必要に応じて InvalidateRgn 関数の呼び出しで更新リージョンを使用できます。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

lprcUpdate パラメーターが NULL の場合、システムは更新四角形を計算しません。 hrgnUpdate パラメーターと lprcUpdate パラメーターの両方が NULL の場合、システムは更新リージョンを計算しません。 hrgnUpdateNULL でない場合、システムは、スクロール 処理 (ScrollDC によって定義) によって明らかにされた領域への有効なハンドルが含まれているかのように続行します。

ウィンドウのクライアント領域全体をスクロールする必要がある場合は、 ScrollWindowEx 関数を使用します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-misc-l1-5-0 (Windows 10 バージョン 10.0.10240 で導入)

こちらもご覧ください

InvalidateRgn

その他のリソース

Rect

リファレンス

ScrollWindowEx