ウィンドウの境界を取得

OS4.0以降では、
RectangleType	bounds;
FrmPtr		frmP = FrmGetActiveForm ();

WinGetBounds (FrmGetWindowHandle(frmP), &bounds);
と書くところを、
WinGetDrawWindowBounds (&bounds);
とする必要がある。(OS4.0以降でも使用可)

Table Item Type

TblSetItemStyle (tableP, row, column, type);
のtypeの部分。
行の高さを11pixels未満にするためには「tallCustomTableItem」を指定する必要があるが、OS3.5ではこれが使えないため、代わりに「customTableItem」を指定。 OS4.0以降のアプリをOS3.5に対応させるための変更点。 PEG-N700CのようにOS3.5のハイレゾ機種では、スモールフォントで表示出来ても、テーブルの行の高さはスタンダードフォントと同じになってしまうため、間が抜けてしまう。

ウィンドウ境界の取得方法

RectangleType	bounds;

WinGetDrawWindowBounds (&bounds);
ちなみに、OS4.0以降では次のようにすることも出来るが、OS3.5ではエラーになる。
WinGetBounds (FrmGetWindowHandle(FrmGetActiveForm ()), &bounds);

Table Item Type

TblSetItemStyle (tableP, row, column, type);
のtypeの部分に、OS3.5以前では「tallCustomTableItem」を指定できない。
蛇足
  • customTableItem : テーブルに設定したフォントで、行の高さが決まる。
  • tallCustomTableItem : フォントに関わらず、行の高さを自由に指定できる。
    TblSetRowHeight (table, row, height)
  • OS5以降やハイレゾCLIEにおいて描画処理でスモールフォントを表示する場合、テーブルに設定したフォントと実際に表示されるフォントが違うため、「tallCustomTableItem」にしないと、必要以上に行間が開いてしまう。
  • OS5以降のCLIE や tsPatch を適用している場合は、テーブルにスモールフォントを直接設定できるため「customTableItem」でも問題無い。
  • PEG-N700CのようにOS3.5のハイレゾ機種では、スモールフォントで表示出来ても、テーブルに「tallCustomTableItem」を指定できないため、行の高さはスタンダードフォントと同じになってしまい、間が抜けることになる。この場合、文字を描画する座標を、テーブルの配列を無視して計算するしかなさそう。