現在もしくは以前にコマンドラインに表示されている文字列を取得 LTCustomizer21 for AutoCAD LT リファレンスマニュアル
ActiveX
Function get_cmdline_text() As String
Function get_cmdline_history_text([index As Integer = 0]) As String
C/C++
int WINAPI get_cmdline_text(BSTR *cmdline_str,int max_size);
int WINAPI get_cmdline_history_text(BSTR *history_str,int max_size,int index=0);
パラメータ
cmdline_str :現在表示されているコマンドラインの内容が入ってきます。
history_str :現在表示されているコマンドライン履歴ウィンドウの内容が入ってきます。
max_size : cmdline_str,history_strの入れることのできるサイズ
index : 取得するコマンドラインの履歴(ヒストリー)の0から始まるインデックス。0なら、直前に表示されたコマンドライン情報を取得します。
返り値
ActiveX : 表示されているコマンドラインの情報(get_cmdline_text()
),指定したコマンドライン履歴の情報(get_cmdline_history_text()
C/C++ : コピーされた文字数(バイト単位)0の場合メモリ確保失敗などの致命的エラー
この関数は現在表示されているAutoCAD/LTのコマンドラインウィンドウ、コマンドラインの履歴(ヒストリー)ウィンドウの内容を取得します。AutoCADのコマンドが実行中でも問題なく実行できます。
get_cmdline_history_text()はコマンドラインの履歴ウィンドウ(コマンドライン行の1つ上にあるウィンドウ領域。AutoCAD/LTでF2キーを押すと出てくる)の内容を取得します。取り出す単位は、コマンドラインプロンプト("コマンド:
")を区切りとして取り出します。
コマンドラインの履歴ウィンドウの情報は、厳密にはコマンドラインで表示された情報の履歴とは限りません。AutoCAD/LTのコマンドメッセージの中には、いきなりコマンドラインの履歴ウィンドウにメッセージが表示される場合があります。その中で一番よく見られるのはキャンセルメッセージ("*キャンセル*")です。
注意:
1.get_cmdline_history_text()で取り出した情報は改行コードが取り除かれてしまっています。
2.get_cmdline_history_text()で取り出した情報の最後にコマンドラインプロンプトが複数個出ている場合がありますが、これはキャンセルを送出した場合に出るものです。 LTCustomizer21が認識するコマンドラインプロンプト("コマンド:
")は、スペースが最後に付加されているものです。(実際にコマンドライン上でキー入力するときは、"コマンド:"の後にスペースが1つ空いていることを確認できるかと思います。)