2006-07-09 [長年日記]

[Q3] ヘッダビューで複数行 (3)

折り返しを指定すると、普段隠されているフィールド(Ccなど)の高さが無駄に大きくなってしまうというツッコミがあったので調べてみました。すると、ウィンドウのサイズを指定する前に、EM_GETLINECOUNTを送って行数を調べていたために、ひどく狭い幅で折り返しを計算した結果の行数が返ってきていました。

仕方がないので、折り返しする場合には、先に一回幅を設定してから折り返しを計算して、その行数を使うようにしました。

JavaのAWTのレイアウトマネージャなどを見ていると思うのですが、幅を指定しないと高さが決まらないコンポーネントと、高さが決まらないと幅が決まらないコンポーネントがあるときにどうやってレイアウトすべきかと考えると、よくちゃんとレイアウトできているなと感心することしきりです*1

*1  ちゃんとレイアウトできていないケースもありますけど

[]