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

テーブルのリサイズ

修正 @ Aug 18, 2011 18:07:41

リサイズ方法

テーブルに限らず、オブジェクトのリサイズは下のファンクションで行う。

FrmSetObjectBounds (frmP, index, &bounds);

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

注意点1---縦方向のリサイズ

リソースを定義する時に、予め、テーブルの高さを最大にした時に表示される行数を用意しておく。

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

注意点1---横方向のリサイズ

テーブルをリサイズした後に、列の幅を設定し直す。

TblGetBounds (tableP, &bounds);
TblSetColumnWidth (tableP, 0, bounds.extent.x);

これは、1列しかない場合。
複数列ある場合は、トータルでテーブルの幅になる様に調整。

これをしないと、

TblGetItemBounds (tableP, row, column, &bounds);

などで正しい値が得られないので、テーブル内容の描画処理時に、全体が表示されないとか画面からはみ出すなどの不具合が起こる。