このQ&Aは役に立ちましたか?
AutoLISPにてラジオボタンを使用したダイアログボックスの作成方法
2023/10/18 00:24
- LISP+DCLにてラジオボタンを使用したダイアログボックスの作成方法について
- ラジオボタンの値の取得方法がわからず困っています。
- 以下はAutoLISPにてラジオボタンを使用したダイアログボックスを作成するためのコードです。
AutoLISPにて ラジオボタンを使用したDC…
2010/11/05 17:08
AutoLISPにて ラジオボタンを使用したDCLの作成方法について
お世話になります。
LISP+DCLにてラジオボタンを使用したダイアログボックスを作成しようと考えています。
ラジオボタンの値の取得方法がわからず困っています。
下記がコードです
プログラムは、選択したラジオボタンの値を
OKボタンを押すとPrincで画面に表示するだけのものです。
以下がDCLのコードです
radio :dialog{label= "Radio Button DCL";
:radio_column{label="ラジオテスト";key="radiocolumn";
:radio_button{label="その1"; mnemonic="A";key = "A";value="1";
}
:radio_button{label="その2"; mnemonic="B";key = "B";
}
:radio_button{label="その3"; mnemonic="C";key = "C";
}
}
: boxed_row {
: button {
key = "accept";
label = "OK";
is_default = true;
}
: button {
key = "cancel";
label = "Cancel";
is_default = false;
is_cancel = true;
}
}
}
以下がLISPコードです。
(defun c:radio ()
(setq dcl_id (load_dialog "radio.dcl"))
(if (not (new_dialog "radio" dcl_id))
(exit)
)
(set_tile "radiocolumn" radio_value)
(action_tile "A" "(setq d_mode "1")")
(action_tile "B" "(setq d_mode "2")")
(action_tile "C" "(setq d_mode "3")")
;;;--- If an action event occurs, do this function
(action_tile "accept" "(ddd)(done_dialog)")
(action_tile "cancel" "(done_dialog)(EXIT)")
(start_dialog)
(unload_dialog dcl_id)
)
(princ ddd()
(princ "\n ラジオボタンの値は=")(princ d_mode);
(princ "\n The user pressed Okay!")
)
回答 (1件中 1~1件目)
lispは専門外だが
http://www.offshorecad.com.ph/autocad/lesson/autolisp/entry676/
Aを押したとき
(action_tile "A" "(setq d_mode "1")")
は実行されているのなら
radio :dialog{label= "Radio Button DCL";
:radio_column{label="ラジオテスト";key="radiocolumn";
:radio_button{label="その1"; mnemonic="A";key = "A";value="1";
}
:radio_button{label="その2"; mnemonic="B";key = "B";value="2";
}
:radio_button{label="その3"; mnemonic="C";key = "C";value="3";
}
}
パラメータが渡されていない
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。