« Iである | トップページ | スクロールバーあれこれの続き »

2007年1月12日 (金)

スクロールバーあれこれ

今回はスクロールバーのお話。Windowsには主に2種類のスクロールバーがある。

  • 標準スクロールバー
  • スクロールバーコントール

である。標準スクロールバーは別名ビルインスクロールバーと言われ、ウィンドウハンドルを持つウィンドウの一部として表示されるスクロールバーである。スクロールバーコントロールは、EDITクラスのエディットボックスやBUTTONクラスのプッシュボタンなどのシステムによって提供される事前定義済みのクラスのウィンドウである(つまり、それ自体でウィンドウハンドルを持つ)。ちなみに、標準スクロールバーはAPIのCreateWindowでウィンドウを作成するときに、ウィンドウスタイルとしてWS_HSCROLL、WS_VSCROLLを指定するか、ウィンドウ表示後、ShowScrollBarを使って表示できる。スクロールバーコントロールはCreateWindowでウィンドウを作成するときに指定する、ウィンドウクラス名をSCROLLBARにすればよい。

Scrollbarcontrol

で、このスクロールバーをAPIを使って制御する時に、毎回、自分が頭を痛めることは、スクロールの範囲、サム(つまみ)の位置、ページのサイズの取り方である。慣れれば、難しくはないと思うが・・具体的に言うとGetScrollInfoやSetScrollInfoで指定するSCROLLINFO構造体の中身のことである。ちなみに、この構造体のnMinからnMaxまでがスクロールの範囲、nPosがサムの位置、nPageがページのサイズを表す。

ページとは、、現在表示されているコンテンツがコンテンツ全体のうち、どれくらいの割合になるかを示す量である。例えば、上の図では、水平スクロールバーの横幅に対するサムの横幅の割合がだいたい目算で1/10くらいなので、ユーザーは現在、実際に表示されているコンテンツは全体の1/10くらいなんだなと推測できる。

で、続く・・・・

« Iである | トップページ | スクロールバーあれこれの続き »

Windows」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1497665/39651889

この記事へのトラックバック一覧です: スクロールバーあれこれ:

« Iである | トップページ | スクロールバーあれこれの続き »

自作ソフトウェア

無料ブログはココログ

メモ