Setfunhelp
- 構文
- (setfunhelp c:fname [helpfile [topic [command]]])
- 機能
- ユーザ定義コマンドをヘルプ機能付きで登録し、ユーザからそのコマンドのヘルプが要求されたとき、該当するヘルプ ファイルとトピックを呼び出す。
- * IJCAD ではうまく動作していない。
- 引数
-
- c:fname : ユーザ定義コマンド(C:XXX 関数)を指定する文字列。 接頭の c: を含める必要がある。
- helpfile : ヘルプ ファイルの名前を示す文字列。この引数では、ファイル拡張子は必要ない。ファイル拡張子を指定すると、指定した名前のファイルのみが検索され、拡張子を指定しないと、拡張子.chm のファイルを探す。
- topic : ヘルプ トピック ID を指定する文字列。拡張子を付けずに CHM ファイル内のトピックを呼び出すと、拡張子.htm を追加する。
- command : [ヘルプ]ウィンドウの初期状態を指定する文字列。Windows SDK で定義されている HtmlHelp()関数 uCommand 引数で使用される文字列にすることもできる。HH_ALINK_LOOKUP または HH_DISPLAY_TOPIC を指定することができる。
- 戻り値
- 成功した場合は c:fname 引数で渡した文字列。それ以外の場合は nil。
- サンプル
- setfunhelp 関数の使用法を示した次の例では、簡単な関数を定義し、次に setfunhelp 関数を実行して、その関数に AutoCAD のヘルプ ファイル(acad.chm)の circle トピックを関連付けている。
(defun c:foo () (getstring "F1 を押してください. foo コマンドのヘルプが表示されます:") ) (setfunhelp "c:test" "acad_acr.chm" "entget")
- このコードをロードし、foo コマンドを起動して[F1]を押すと、circle トピックが表示される。
- この例は動作は実用的ではない。実際には、独自のヘルプ ファイルを作成し、そのヘルプ ファイルおよびトピックを、独自に作成した関数に関連付けることになる。
- 次に、test という名前の関数を定義する。
(defun c:test()(getstring "¥nTEST: " )(princ)) C:TEST
- この関数を、文字列 "line" を使用してヘルプ呼び出しに関連付ける。
(setfunhelp "c:test" "acad_acr.chm" "line") "c:test"
- test コマンドを起動し、プロンプトに対して[F1]を押すと、AutoCAD の LINE[線分]コマンドのヘルプ トピックが表示される。
- 注: defun 関数を使用して C:XXX 関数を定義すると、setfunhelp 関数で登録した関数名が除去される(存在する場合)。 このため、まず defun 関数を呼び出してユーザ定義コマンドを定義し、次に setfunhelp 関数を呼び出さなければならない。
関連事項