トップページ > プログラム > 2014年08月01日 > zZX9M6dQ

書き込み順位&時間帯一覧

12 位/151 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000030003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
963
Win32API質問箱 Build117

書き込みレス一覧

Win32API質問箱 Build117
968 :デフォルトの名無しさん[sage]:2014/08/01(金) 20:12:10.77 ID:zZX9M6dQ
>>967
いやそんな高度なことじゃないです

実は、数行から10000行ぐらいのテキストをブラウザのように折り返して表示しようとしていて
やりかたはDrawText描いていき、改行処理は自前でやるような

で、一行 = スクロールバーの一目盛りとして連動させたいんだけど、
改行数を前もって計算するにもプロポーショナルフォントを使うので何行になるかわかんない
テキストを読んだときに全行の幅をGetTextExtentExPointで前もって取得しておいて、
描画領域の幅で割った幅でざっくり割り出しそれをスクロール幅にして、
途中でペイントする範囲内で誤差を検出したときに、こっそりnMaxを増やしてしまおうというのをやりたかったんだけど

どうも根本的に間違えてる気もするんだけどこれ以外のやり方が思いつかなくてw
Win32API質問箱 Build117
969 :963[sage]:2014/08/01(金) 20:14:41.78 ID:zZX9M6dQ
ID変わってるけど963 です
Win32API質問箱 Build117
972 :デフォルトの名無しさん[sage]:2014/08/01(金) 20:46:14.58 ID:zZX9M6dQ
スクロールバーのSB_THUMBPOSITIONやSB_THUMBTRACKは操作する側が微妙な差を感知できるほど細かな単位で位置を返してこない感じなので、
ドラッグ中は一行単位でのスクロールに拘らない形にして誤差を無視する
細かくスクロールしてるときには微調整する、
ってやり方でいけるような気もしてきたのでダメ元で試行錯誤やってみます

色々アドバイスどもです ノシ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。