- 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は操作する側が微妙な差を感知できるほど細かな単位で位置を返してこない感じなので、
ドラッグ中は一行単位でのスクロールに拘らない形にして誤差を無視する 細かくスクロールしてるときには微調整する、 ってやり方でいけるような気もしてきたのでダメ元で試行錯誤やってみます 色々アドバイスどもです ノシ
|