2006-03-14 [長年日記]

[Q3] エディットビュー周りの描画が変

折り返し関係でクラッシュするという報告を調べようと思ったら、Pocket PC版のエディットビューでヘッダが隠れるときに正しく再描画されていないのを発見。調べてみたらWindows版でもヘッダを隠す設定だと同じ現象が発生していました。右寄せにした影響のようです。

DeferWindowPosするときにSWP_NOCOPYBITSを指定して、サイズが変わったときにはコントロールに描きなおさせるようにしました。しかし、SS_RIGHTを指定したスタティックコントロールがリサイズされたら自分で書き直してくれても良いような気がします。Windows CEにはSWP_NOCOPYBITSがないので、自前でInvalidateRectするようにしました。

ついでに、高DPIモードだとコントロールの幅が足りなくて正しく描画されていなかった*1のも直しました。

自分で使っていないと気づいて当たり前のようなところも気づかないものです。それはともかく、最初の件は問題が再現せず…

*1  「アカウント:」が切れていた

[]