こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

AutoLISPにて ラジオボタンを使用したDC…

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!")
)

投稿日時 - 2010-11-05 17:08:00

QNo.9465394

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(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";
}
}


パラメータが渡されていない

投稿日時 - 2010-11-06 00:36:00

あなたにオススメの質問