人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

スクロールバーについて質問です。
プログラムの言語は問わず、数式のみお教え頂けますでしょうか?
ブラウザ等にもあるWindowsデフォルトのスクロールバーの同等の機能を持つとお考えください。(ただし、ドラッグアンドドロップでのバーの移動はできなくとも構いません)
※分からない方は、詳しくは画像ファイルをご参照ください。

例えば、高さ200pxのテキストボックス(aとします)があるとします。
そこに、文字が大量に書かれて高さが10000pxの物(bとします)を表示させたいと考えております。
また、スクロールバーの上下のボタンを押した場合の移動量は10pxとします。

その場合、Windowsデフォルトのスクロールバーと同様の機能を付けるには
「バーの長さの調整」、上下のボタンを押した際の「バーの移動量の算出」の計算式が必要になると思いますが
どういった数式になるでしょうか?




1223453901
●拡大する

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:Windows スクロール テキスト デフォルト ドラッグアンドドロップ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● GoldenDawn
●60ポイント

テキストボックスと内容のそれぞれの高さを ah、bh とすると、スクロールバーのスクロールエリアにおけるスクロールボックスの割合は ah / bh。

実際のスクロールボックスの高さはこれにスクロールエリアの高さ (sah) をかけて sah * ah / bh。


ボタンを押したときにスクロールボックスが何px 移動するか、というのは割り切れない場合に誤差でずれるので、その都度全体の位置で考える。

スクロールボックスの高さを sbh とするとスクロールボックスの取りうる位置の範囲 sbr は sah - sbh。

テキストボックスに置ける内容物のスクロール範囲 ar は bh - ah、現在の位置を ap とすると位置の比率は ap / ar。

スクロールボックスの位置は sbr をかけて sbr * ap / ar。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ