スクロール バー

このセクションには、スクロール バーで使用されるプログラミング要素の情報が記載されています。 ウィンドウには、ウィンドウのクライアント領域よりも大きいデータ オブジェクト (ドキュメントやビットマップなど) を表示できます。 スクロール バーを提供すると、ユーザーはクライアント領域のデータ オブジェクトをスクロールして、ウィンドウの境界線を越えて延びるオブジェクトの部分を表示できます。

概要

トピック 内容
スクロール バーについて スクロール バーは、各端に矢印ボタンが付いた網掛け軸と、矢印ボタンの間の スクロール ボックス (サムとも呼ばれる) で構成されます。
スクロール バーの使用 オーバーラップ ウィンドウ、ポップアップ ウィンドウ、または子ウィンドウを作成するときに、CreateWindowEx 関数を使用し、WS_HSCROLL スタイル、WS_VSCROLL スタイル、またはその両方のスタイルを指定することで、標準のスクロール バーを追加できます。

関数

トピック 内容
EnableScrollBar EnableScrollBar 関数は、一方または両方のスクロール バー矢印を有効または無効にします。
GetScrollBarInfo GetScrollBarInfo 関数は、指定されたスクロール バーに関する情報を取得します。
GetScrollInfo GetScrollInfo 関数は、スクロール バーのパラメーター (スクロール位置の最小値と最大値、ページ サイズ、スクロール ボックスの位置 (thumb) など) を取得します。
GetScrollPos GetScrollPos 関数は、指定されたスクロール バー内のスクロール ボックス (thumb) の現在位置を取得します。 現在の位置は、現在のスクロール範囲に依存する相対値です。 たとえば、スクロール範囲が 0 ~ 100 で、スクロール ボックスがバーの中央にある場合、現在の位置は 50 です。 : GetScrollPos 関数は下位互換性のために提供されています。 新しいアプリケーションでは、GetScrollInfo 関数を使用する必要があります。
GetScrollRange GetScrollRange 関数は、指定されたスクロール バーの現在の最小および最大スクロール ボックス (thumb) 位置を取得します。 : GetScrollRange 関数は互換性のためにのみ提供されます。 新しいアプリケーションでは、GetScrollInfo 関数を使用する必要があります。
ScrollDC ScrollDC 関数は、ビットの四角形を水平方向および垂直方向にスクロールします。
ScrollWindow ScrollWindow 関数は、指定されたウィンドウのクライアント領域の内容をスクロールします。 : ScrollWindow 関数は下位互換性のために提供されています。 新しいアプリケーションでは、ScrollWindowEx 関数を使用する必要があります。
ScrollWindowEx ScrollWindowEx 関数は、指定されたウィンドウのクライアント領域の内容をスクロールします。
SetScrollInfo SetScrollInfo 関数は、スクロール バーのパラメーター (スクロール位置の最小値と最大値、ページ サイズ、スクロール ボックスの位置 (thumb) など) を設定します。 この関数は、要求された場合はスクロール バーも再描画します。
SetScrollPos SetScrollPos 関数は、指定されたスクロール バー内のスクロール ボックス (thumb) の位置を設定し、必要に応じて、スクロール ボックスの新しい位置を反映するようにスクロール バーを再描画します。 : SetScrollPos 関数は下位互換性のために提供されています。 新しいアプリケーションでは、SetScrollInfo 関数を使用する必要があります。
SetScrollRange SetScrollRange 関数は、指定したスクロール バーのスクロール ボックスの最小位置と最大位置を設定します。 : SetScrollRange 関数は下位互換性のために提供されています。 新しいアプリケーションでは、SetScrollInfo 関数を使用する必要があります。
ShowScrollBar ShowScrollBar 関数は、指定したスクロール バーを表示または非表示にします。

[メッセージ]

トピック 内容
SBM_ENABLE_ARROWS アプリケーションは、スクロール バー コントロールの 一方または両方の矢印を有効または無効にするために、SBM_ENABLE_ARROWS メッセージを送信します。
SBM_GETPOS SBM_GETPOS メッセージは、スクロール バー コントロールのスクロール ボックスの現在位置を取得するために送信されます。 現在の位置は、現在のスクロール範囲に依存する相対値です。 たとえば、スクロール範囲が 0 ~ 100 で、スクロール ボックスがバーの中央にある場合、現在の位置は 50 です。
アプリケーションは、このメッセージを直接送信するべきではありません。 代わりに、GetScrollPos 関数を使用する必要があります。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。 カスタム スクロール バー コントロールを実装するアプリケーションは、GetScrollPos 関数が正常に機能するために、これらのメッセージに応答する必要があります。
SBM_GETRANGE SBM_GETRANGE メッセージは、スクロール バー コントロールの最小値と最大値を取得するために送信されます。
アプリケーションは、このメッセージを直接送信するべきではありません。 代わりに、GetScrollRange 関数を使用する必要があります。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。 カスタム スクロール バー コントロールを実装するアプリケーションは、GetScrollRange 関数が正常に機能するために、これらのメッセージに応答する必要があります。
SBM_GETSCROLLBARINFO 指定したスクロール バーに関する情報を取得するためにアプリケーションが送信します。
SBM_GETSCROLLINFO スクロール バーのパラメーターを取得するために、SBM_GETSCROLLINFO メッセージが送信されます。
アプリケーションは、このメッセージを直接送信するべきではありません。 代わりに、GetScrollInfo 関数を使用する必要があります。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。 カスタム スクロール バー コントロールを実装するアプリケーションは、GetScrollInfo 関数が正常に機能するために、これらのメッセージに応答する必要があります。
SBM_SETPOS SBM_SETPOS メッセージは、スクロール ボックスの位置 (thumb) を設定するために送信され、要求された場合は、スクロール ボックスの新しい位置を反映するようにスクロール バーを再描画します。
アプリケーションは、このメッセージを直接送信するべきではありません。 代わりに、SetScrollPos 関数を使用する必要があります。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。 カスタム スクロール バー コントロールを実装するアプリケーションは、SetScrollPos 関数が正常に機能するために、これらのメッセージに応答する必要があります。
SBM_SETRANGE SBM_SETRANGE メッセージは、スクロール バー コントロールの最小値と最大値を設定するために送信されます。
アプリケーションは、このメッセージを直接送信するべきではありません。 代わりに、SetScrollRange 関数を使用する必要があります。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。 カスタム スクロール バー コントロールを実装するアプリケーションは、SetScrollRange 関数が正常に機能するために、これらのメッセージに応答する必要があります。
SBM_SETRANGEREDRAW アプリケーションは、SBM_SETRANGEREDRAW メッセージをスクロール バー コントロールに送信して、位置の最小値と最大値を設定し、コントロールを再描画します。
SBM_SETSCROLLINFO SBM_SETSCROLLINFO メッセージを送信して、スクロール バーのパラメーターを設定します。
アプリケーションは、このメッセージを直接送信するべきではありません。 代わりに、SetScrollInfo 関数を使用する必要があります。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。 カスタム スクロール バー コントロールを実装するアプリケーションは、SetScrollInfo 関数が正常に機能するために、これらのメッセージに応答する必要があります。

通知

トピック 内容
WM_CTLCOLORSCROLLBAR WM_CTLCOLORSCROLLBAR メッセージは、コントロールが描画されるときに、スクロール バー コントロールの親ウィンドウに送信されます。 このメッセージに応答することで、親ウィンドウは表示コンテキスト ハンドルを使用して、スクロール バー コントロールの背景色を設定できます。
ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。
WM_HSCROLL WM_HSCROLL メッセージは、ウィンドウの標準水平スクロール バーでスクロール イベントが発生すると、ウィンドウに送信されます。 このメッセージは、コントロールでスクロール イベントが発生したときに、水平スクロール バー コントロールの所有者にも送信されます。
ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。
WM_VSCROLL WM_VSCROLL メッセージは、ウィンドウの標準垂直スクロール バーでスクロール イベントが発生すると、ウィンドウに送信されます。 このメッセージは、コントロールでスクロール イベントが発生したときに、垂直スクロール バー コントロールの所有者にも送信されます。
ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。

構造体

トピック 内容
SCROLLBARINFO SCROLLBARINFO 構造体には、スクロール バー情報が含まれています。
SCROLLINFO SCROLLINFO 構造体には、SetScrollInfo 関数 (または SBM_SETSCROLLINFO メッセージ) が設定するスクロール バー パラメーターまたは、GetScrollInfo 関数 (または SBM_GETSCROLLINFO メッセージ) が取得するスクロール バー パラメーターが含まれます。

定数

トピック 内容
スクロール バー コントロール スタイル CreateWindow または CreateWindowEx 関数を使用してスクロール バー コントロールを作成する場合は、SCROLLBAR クラス、適切なウィンドウ スタイル定数および次のスクロール バー コントロール スタイルの組み合わせを指定します。 一部のスタイルでは、既定の幅または高さを使用するスクロール バー コントロールが作成されます。 ただし、CreateWindow または CreateWindowEx を呼び出すときは、常に x 座標と y 座標、およびスクロール バーの他の寸法を指定する必要があります。