ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 07:40

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - スクロールバーと構造体「SCROLLINFO」について。
作成者 メッセージ
  記事の件名:  Re: スクロールバーと構造体「SCROLLINFO」について。  引用付きで返信する
http://wisdom.sakura.ne.jp/system/winap ... win50.html
投稿記事 Posted: 2017年10月29日(日) 21:19
  記事の件名:  スクロールバーと構造体「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」で
計算されるのでしょうか?) 
が、ただハッキリとそれがそうだとは分かりません。


 「最小、最大スクロール位置」
 「ページアップ・ページダウンのスクロール量」
 「つまみの大きさの算出法」

 それぞれは具体的にどのような大きさを、値を指す
ものなのでしょうか。
投稿記事 Posted: 2006年5月31日(水) 17:57

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean