ScrollWindow |
Declare Function Api_ScrollWindow& Lib "user32" Alias "ScrollWindow" (ByVal hWnd&, ByVal XAmount&, ByVal YAmount&, lpRect As RECT, lpClipRect As RECT) |
Declare Function ScrollWindow Lib "user32" (ByVal hWnd As Long, ByVal XAmount As Long, ByVal YAmount As Long, lpRect As RECT, lpClipRect As RECT) As Long |
|
パラメータ lpRect が NULL の場合は、クライアント領域全体がスクロールされる。
カーソル四角形がスクロール四角形と交差している場合は、カレットが再配置される。 この四角形の内側のビットだけがスクロールする。この四角形の外側のビットは、lpRect で指定された四角形の内側にあっても、影響を受
けない。このパラメータが NULL の場合、スクロールする四角形はクリッピングされない。
解説
スクロール終了後カレットは元に戻される。カレットの位置は、元の位置に応じて調整される。 アプリケーションは、領域を再描画する必要があることを通知する WM_PAINT メッセージを最終的に受け取る。 スクロール終了と同時に更新された領域を再描画するには、ScrollWindow 関数を呼び出した直後に UpdateWindow メンバ関数を呼び出
す。 CWnd 内の無効な (描画されていない) 領域もオフセットされる。
ScrollWindow 関数は、lpRect に NULL を指定すると処理がより速くなる。 lpRect が NULL でない場合に、画面の更新に問題が生じないようにするには、ScrollWindow を呼び出す前に UpdateWindow メンバ関 数を使って CWnd を再描画する。 |