ab.com コミュニティ https://www.activebasic.com/forum/ |
|
スクロールバーと構造体「SCROLLINFO」について。 https://www.activebasic.com/forum/viewtopic.php?t=1113 |
ページ 1 / 1 |
作成者: | jacoby [ 2006年5月31日(水) 17:57 ] |
記事の件名: | スクロールバーと構造体「SCROLLINFO」について。 |
ウインドウにスクロールバーを付けてクライアントエリアの ビットマップをスクロールさせたいのですが、その際に設定 が必要になる構造体「SCROLLINFO」について、 そのメンバ変数 nPageとnMax(nMin)、 それぞれの値が意味するところを教えてください。 例えば、Y方向高さが400ドットのビットマップがあったして、 それを300ドットの高さのクライアントエリアに表示するとします。 ウインドウに垂直スクロールバーをつけてスクロールさせたいと すると、、 「nMax」についてはある説明で、 "nMin, nMaxは最小、最大スクロール位置を指定します。" とありました。ただこの「最大スクロール位置」というのが 具体的にどの位置(長さ)を意味しているのか分からず、 とりあえず下のように見当を付けて見たのですが、 コード: _____________ (| |) ( | | ) 表示する ビットマップ( | | ) クライアント 全体の高さ ( | | ) エリアの高さ (400)( | | ) (300) ( | |) ( ------------- ( | |) スクロールで動く (| |) (見えてくる) ------------- 範囲の大きさ(100)( 図が分かりづらくなってしまっていたらすみません。) 上の図の「スクロールで動く範囲 」の最大値、つまり 「100」をnMaxに設定してみました。 同様に、「nPage」は、 "nPageはページサイズを指定します。この値がページアップ・ページダウン のスクロール量となります。" と書かれているのを読みました。 これもとりあえず「表示するクライアントエリアの高さ」で「300」と 設定してみました。 ただし実行結果は、、、 スクロールバーのつまみ(サム)の大きさは、 "ビットマップ全体の高さに対する 表示するクライアントエリアの高さ"に比例した大きさ、 この場合スクロール可動域の3/4を占める大きさで 表示されるのが本当だと思いますが、そうはならず スクロールバー自体、表示されません。 あれこれ考えて適当に設定しているとき、 「nMax」に「ビットマップ全体の高さ」(400)を、 「nPage」に「表示するクライアントエリアの高さ」(300)を それぞれセットして実行してみると、 パッと見た感じではスクロールバーのつまみ(サム)の大きさは それ相応になっているようにも見えました。 (もしそうだとするとつまみの大きさは「nPage/nMax」で 計算されるのでしょうか?) が、ただハッキリとそれがそうだとは分かりません。 「最小、最大スクロール位置」 「ページアップ・ページダウンのスクロール量」 「つまみの大きさの算出法」 それぞれは具体的にどのような大きさを、値を指す ものなのでしょうか。 |
作成者: | HSABP [ 2017年10月29日(日) 21:19 ] |
記事の件名: | Re: スクロールバーと構造体「SCROLLINFO」について。 |
http://wisdom.sakura.ne.jp/system/winap ... win50.html |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |