デバイスコンテキストをスクロールする
Declare Function ScrollDC Lib "user32.dll" _
(ByVal hDC As Long, ByVal dx As Long, ByVal dy As Long, _
lprcScroll As RECT, lprcClip As RECT, _
ByVal hrgnUpdate As Long, lprcUpdate As RECT) As Long
Declare Function ScrollDC Lib "user32.dll" _
(ByVal hDC As Integer, ByVal dx As Integer, ByVal dy As Integer, _
lprcScroll As RECT, lprcClip As RECT, _
ByVal hrgnUpdate As Integer, lprcUpdate As RECT) As Integer
BOOL ScrollDC(
HDC hDC,
int dx,
int dy,
CONST RECT *lprcScroll,
CONST RECT *lprcClip,
HRGN hrgnUpdate,
LPRECT lprcUpdate
);
引数
hDC
操作対象のデバイスコンテキストのハンドルdx
水平にスクロールするピクセル数(マイナスのとき左方向に移動)dy
垂直にスクロールするピクセル数(マイナスのとき上方向に移動)lprcScroll
スクロールする矩形の座標を格納するRECT構造体lprcClip
再描画する範囲(クリッピングする矩形)の座標を格納するRECT構造体hrgnUpdate
(戻り値)スクロール処理の対象外の領域のハンドル(未使用時0)lprcUpdate
(戻り値)スクロールすることで再描画が必要な更新領域を包含する矩形の座標を受け取るRECT構造体戻り値
未使用時は ByVal lprcUpdate As Long と宣言して0を指定する
成功したとき 0以外備考
失敗したとき 0
hrgnUpdateを受け取る場合は、あらかじめ領域のハンドルを用意しておく必要がある。
クライアント領域全体をスクロールする場合はScrollWindowEx()関数を使う。