Top > Palmware開発メモ > Palm > テーブルのリサイズ

Diff of テーブルのリサイズ


&tag(Palm,Program);

#contents

*リサイズ方法 [#xbfd5757]
テーブルに限らず、オブジェクトのリサイズは下のファンクションで行う。
#geshi(C){{
FrmSetObjectBounds (frmP, index, &bounds);
}}

ただし、テーブルオブジェクトの場合、以下のような注意が必要。

*注意点1---縦方向のリサイズ [#m7f17993]
リソースを定義する時に、予め、テーブルの高さを最大にした時に表示される行数を用意しておく。

例えば、テーブルの高さ 200ドット、フォントの高さが 6ドットであれば、33 (= 200 / 6) 行以上に設定する。
行数が多過ぎる分には問題無いが、少ないとリサイズしても用意した行数までしか利用出来ないため、画面の上半分しか表示されないなどの不具合が起こってしまう。

*注意点1---横方向のリサイズ [#jb28ad1c]
*注意点2---横方向のリサイズ [#jb28ad1c]
テーブルをリサイズした後に、列の幅を設定し直す。
#geshi(C){{
TblGetBounds (tableP, &bounds);
TblSetColumnWidth (tableP, 0, bounds.extent.x);
}}
これは、1列しかない場合。~
複数列ある場合は、トータルでテーブルの幅になる様に調整。

これをしないと、
#geshi(C){{
TblGetItemBounds (tableP, row, column, &bounds);
}}
などで正しい値が得られないので、テーブル内容の描画処理時に、全体が表示されないとか画面からはみ出すなどの不具合が起こる。