CWnd::ScrollWindowEx
ウィンドウのクライアント領域の内容をスクロールします。
int ScrollWindowEx(
int dx,
int dy,
LPCRECT lpRectScroll,
LPCRECT lpRectClip,
CRgn* prgnUpdate,
LPRECT lpRectUpdate,
UINT flags
);
パラメーター
dx
、水平スクロールのデバイス単位に、量を指定します。このパラメーターは左にスクロールする負の値が必要です。dy
は、垂直スクロールのデバイス単位に、量を指定します。このパラメーターは、スクロールする負の値が必要です。lpRectScroll
スクロールするクライアント領域の部分を指定する RECT の構造体へのポインター。このパラメーターがの場合 null、クライアント領域全体がスクロールされます。lpRectClip
RECT をポイントし、構成します。スクロールするクリッピング四角形を指定します。この構造は lpRectScrollによって指される四角形に優先されます。この四角形内のビットがスクロールされます。この四角形の外側のビットは lpRectScroll の四角形でも影響を受けません。このパラメーターが nullの場合、クリッピングはスクロールの四角形に行われません。prgnUpdate
領域をスクロールして無効にして保持するように変更する区分を識別します。このパラメーターは nullである場合があります。lpRectUpdate
スクロールによって無効になった四角形の境界を受け取る RECT をポイントし、構成します。このパラメーターは nullである場合があります。flags
次の値から 1 を指定できます:SW_INVALIDATEの消しゴムと指定した場合 WM_ERASEBKGND ウィンドウへのメッセージを送信し、最近無効にされた領域SW_ERASE。
SW_INVALIDATE は、スクロールの後に prgnUpdate によって識別される領域を無効にします。
SW_SCROLLCHILDREN は dx と dyで指定されるピクセルの数によって lpRectScroll によって指される四角形とするすべての子ウィンドウをスクロールします。Windows は lpRectScrollに共通するすべての子ウィンドウには、実行されない場合でも、WM_MOVE のメッセージを送信します。キャレットは子ウィンドウがスクロールされ、カーソルの四角形がスクロールの四角形とすると位置が変わります。
戻り値
戻り値は SIMPLEREGION (四角形の無効な領域) COMPLEXREGION、次に無効化された領域ではありません; 関数が成功した場合は、四角形)、または ( NULLREGION 無効にされた領域なし) が重複しています; それ以外の戻り値は **[エラー]**です。
解説
この関数は、追加の機能の ScrollWindow の関数に似ています。
SW_INVALIDATE と SW_ERASE が指定されていない場合、ScrollWindowEx のメンバー関数は、スクロールされる領域を無効にしません。これらのどちらかが設定されている場合、ScrollWindowEx 無効にすると、この領域にフラグを設定します。区分は、アプリケーションが UpdateWindow のメンバー関数を呼び出すまで、呼び出し RedrawWindow のメンバー関数 ( RDW_UPDATENOWRDW_ERASENOWかを指定します)、または取得をアプリケーション キューからメッセージ WM_PAINT の更新しません。
ウィンドウに WS_CLIPCHILDREN のスタイルがある場合、prgnUpdate と lpRectUpdate で指定された返された領域が更新する必要がある更新する必要がある子ウィンドウの任意の領域を含むスクロールしたウィンドウの全域を表します。
SW_SCROLLCHILDREN のフラグを指定すると、Windows は正しく子ウィンドウの一部がスクロールされた場合は画面を更新しません。元の四角形の外にあるスクロールされた子ウィンドウの一部は、新しいターゲットで正しく消されなかったりし、再描画されません。lpRectScroll の四角形内に完全に含まれていない子ウィンドウの実行に DeferWindowPos Windows の関数を使用します。カーソルは SW_SCROLLCHILDREN のフラグが設定され、キャレットの四角形がスクロールの四角形として位置が変わります。
すべての入出力座標は、クライアント座標に、に関係なく、( lpRectScroll、lpRectClip、lpRectUpdateウィンドウが CS_OWNDC または CS_CLASSDC クラスのスタイルあるかどうかを prgnUpdateの場合) と見なされます。論理座標への変換するために LPtoDP と DPtoLP Windows の関数を必要に応じて、を使用します。
必要条件
ヘッダー: afxwin.h