スクロール バー

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

概要

トピック 内容
スクロール バーについて スクロール バーは、各端に矢印ボタンがある網掛けされたシャフトと、矢印ボタンの間に スクロール ボックス (親指と呼ばれることもあります) で構成されます。
スクロール バーの使用 重複するウィンドウ、ポップアップ ウィンドウ、または子ウィンドウを作成する場合は、 CreateWindowEx 関数を使用し、 WS_HSCROLLWS_VSCROLL、またはその両方のスタイルを指定することで、標準のスクロール バーを追加できます。

関数

トピック 内容
EnableScrollBar EnableScrollBar 関数は、一方または両方のスクロール バー矢印を有効または無効にします。
GetScrollBarInfo GetScrollBarInfo 関数は、指定されたスクロール バーに関する情報を取得します。
GetScrollInfo GetScrollInfo 関数は、スクロール バーのパラメーター (最小および最大スクロール位置、ページ サイズ、スクロール ボックスの位置 (親指) など) を取得します。
GetScrollPos GetScrollPos 関数は、指定したスクロール バー内のスクロール ボックス (サム) の現在位置を取得します。 現在の位置は、現在のスクロール範囲に依存する相対値です。 たとえば、スクロール範囲が 0 ~ 100 で、スクロール ボックスがバーの中央にある場合、現在の位置は 50 です。
[!注]
GetScrollPos 関数は、下位互換性のために用意されています。 新しいアプリケーションでは 、GetScrollInfo 関数を使用する必要があります。


GetScrollRange GetScrollRange 関数は、指定したスクロール バーの現在の最小および最大スクロール ボックス (サム) 位置を取得します。
[!注]
GetScrollRange 関数は、互換性のみを目的として提供されます。 新しいアプリケーションでは 、GetScrollInfo 関数を使用する必要があります。


ScrollDC ScrollDC 関数は、ビットの四角形を水平方向および垂直方向にスクロールします。
ScrollWindow ScrollWindow 関数は、指定されたウィンドウのクライアント領域の内容をスクロールします。
[!注]
ScrollWindow 関数は、下位互換性のために用意されています。 新しいアプリケーションでは ScrollWindowEx 関数を使用する必要があります。


ScrollWindowEx ScrollWindowEx 関数は、指定されたウィンドウのクライアント領域の内容をスクロールします。
SetScrollInfo SetScrollInfo 関数は、スクロール バーのパラメーター (最小および最大スクロール位置、ページ サイズ、スクロール ボックスの位置 (親指) など) を設定します。 この関数は、要求された場合はスクロール バーも再描画します。
SetScrollPos SetScrollPos 関数は、指定したスクロール バー内のスクロール ボックス (親指) の位置を設定し、要求された場合は、スクロール ボックスの新しい位置を反映するようにスクロール バーを再描画します。
[!注]
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 座標、およびスクロール バーの他のディメンションを指定する必要があります。