Grtext

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(grtext [box text [highlight]])


機能
ステータス バーまたはスクリーン メニュー領域に文字を書き込む。
この関数は指定された文字をメニュー領域に表示するが、下にあるメニュー項目は変更しない。引数なしで grtextを呼び出すと、全ての文字領域を標準の状態に復元できる。
引数
  • box : 文字を書き込む場所を指定する整数。
  • text : スクリーン メニューまたはステータス バーに表示する文字を指定する文字列。 text 引数が長過ぎて表示領域に収まらない場合は、切り捨てられる。
  • highlight : スクリーン メニューの位置を選択または選択解除する整数。


戻り値
成功した場合は、text 引数で渡された文字列、失敗した場合、または引数を指定しなかった場合は、nil。
引数なしで呼び出すと、grtext 関数はすべてのテキスト領域を、標準の値に復元する。引数を 1 つだけ指定して呼び出すと、grtext 関数の結果はエラーになる。



スクリーン メニュー領域
box 引数の値を 0(ゼロ)以上に設定すると、スクリーンメニューの位置になる。有効な box 引数の値の範囲は、0(ゼロ)からスクリーン メニュー ボックスの最大数 -1 まで。スクリーン メニュー ボックスの最大数は、システム変数 SCREENBOXES で調べることができる。highlight 引数に正の整数を指定すると、grtext 関数は指定されたボックスの文字をハイライト表示する。

あるボックスをハイライト表示すると、既にハイライト表示されていた他のボックスが自動的にハイライト解除される。highlight 引数が 0(ゼロ)の場合、メニュー項目のハイライトは解除される。highlig ht 引数が負の場合は、無視される。プラットフォームによっては、highlight 引数を指定せずに文字を表示し、次にハイライト表示しなければならない。スクリーン メニューの位置をハイライト表示できるのは、カーソルがスクリーン メニュー領域内に存在しない場合に限る。

ステータス バー領域
box 引数の値に -1 を設定して grtext 関数を呼び出すと、モード ステータス バー領域に文字が表示される。モード ステータス バーの長さは、ディスプレイによって異なる(ほとんどのディスプレイは 40 文字以上表示できる)。

次のコードでは、DIESEL式 $(linelen) を使用してモードステータス領域の長さを調べている。(IJCADでは無効。IJCAD7 現在)

(setq modelen (menucmd "M=$(linelen)"))

box 引数の値に -2 を設定すると、grtext 関数は座標ステータス バー領域に文字を表示する。座標トラッキングがオンに設定されている場合、このフィールドに表示した値は、ポインタが新しい座標を送るとただちに上書きされる。box の値が -1 または -2 の場合、highlight 引数は無視される。