SetScrollPos 関数 (winuser.h)

SetScrollPos 関数は、指定したスクロール バー内のスクロール ボックス (サム) の位置を設定し、要求された場合は、スクロール ボックスの新しい位置を反映するようにスクロール バーを再描画します。

メモSetScrollPos 関数は、下位互換性のために用意されています。 新しいアプリケーションでは 、SetScrollInfo 関数を使用する必要があります。
 

構文

int SetScrollPos(
  [in] HWND hWnd,
  [in] int  nBar,
  [in] int  nPos,
  [in] BOOL bRedraw
);

パラメーター

[in] hWnd

種類: HWND

nBar パラメーターの値に応じて、スクロール バー コントロールまたは標準のスクロール バーを持つウィンドウにハンドルします。

[in] nBar

型: int

設定するスクロール バーを指定します。 このパラメーターには、次の値のいずれかを指定できます。

説明
SB_CTL
スクロール バー コントロール内のスクロール ボックスの位置を設定します。 hwnd パラメーターは、スクロール バー コントロールのハンドルである必要があります。
Sb_horz
ウィンドウの標準的な水平スクロール バーのスクロール ボックスの位置を設定します。
SB_VERT
ウィンドウの標準的な垂直スクロール バーのスクロール ボックスの位置を設定します。

[in] nPos

型: int

スクロール ボックスの新しい位置を指定します。 位置はスクロール範囲内である必要があります。 スクロール範囲の詳細については、 SetScrollRange 関数を参照してください。

[in] bRedraw

種類: BOOL

新しいスクロール ボックスの位置を反映するようにスクロール バーを再描画するかどうかを指定します。 このパラメーターが TRUE の場合、スクロール バーが再描画されます。 FALSE の場合、スクロール バーは再描画されません。

戻り値

型: int

関数が成功した場合、戻り値はスクロール ボックスの前の位置になります。

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

解説

スクロール バーを別の関数の後続の呼び出しによって再描画する場合は、 bRedraw パラメーターを FALSE に設定すると便利です。

スクロール バーの位置 ( WM_HSCROLLWM_VSCROLL) を示すメッセージは、位置データの 16 ビットに制限されているため、位置データに対してこれらのメッセージのみに依存するアプリケーションでは、 SetScrollPos 関数の nPos パラメーターの実際の最大値は 65,535 です。

ただし、SetScrollInfoSetScrollPosSetScrollRangeGetScrollInfo、GetScrollPosおよび GetScrollRange 関数は 32 ビットのスクロール バー位置データをサポートしているため、WM_HSCROLLWM_VSCROLL メッセージの 16 ビット バリアを回避する方法があります。 この手法の説明については、「 GetScrollInfo 」を参照してください。

nBar パラメーターがSB_CTLされ、hWnd パラメーターで指定されたウィンドウがシステム スクロール バー コントロールではない場合、システムはSBM_SETPOS メッセージをウィンドウに送信してスクロール バー情報を設定します。 これにより、 SetScrollPos は、スクロール バーを模倣するカスタム コントロールを操作できます。 ウィンドウで SBM_SETPOS メッセージが処理されない場合、 SetScrollPos 関数は失敗します。

要件

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

関連項目

GetScrollInfo

GetScrollPos

GetScrollRange

リファレンス

SetScrollInfo

SetScrollRange