• The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
OS4.0以降のアプリをOS3.5に対応させるための変更点。
#contents

*ウィンドウ境界の取得方法
OS4.0以降では、
 RectangleType	bounds;
 FrmPtr		frmP = FrmGetActiveForm ();
 
 WinGetBounds (FrmGetWindowHandle(frmP), &bounds);
と書くところを、
 WinGetDrawWindowBounds (&bounds);
とする必要がある。OS4.0以降でもこのまま使用可。

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

*Table Item Type
 TblSetItemStyle (tableP, row, column, type);
のtypeの部分。~
のtypeの部分に、OS3.5以前では「tallCustomTableItem」を指定できない。

スモールフォントに対応するためには「tallCustomTableItem」にするが、OS3.5ではこれを指定するとエラーとなるため、OSで場合分けして「customTableItem」を指定するようにする。~
ただし、行の高さを11pixels未満に出来ないため、PEG-N700CのようにOS3.5のハイレゾ機種では、スモールフォントで表示出来ても、テーブルの行の高さはスタンダードフォントと同じになってしまい、間が抜けることになる。
#hr
蛇足
-customTableItem : テーブルに設定したフォントで、行の高さが決まる。
-tallCustomTableItem : フォントに関わらず、行の高さを自由に指定できる。
 TblSetRowHeight (table, row, height)

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