Here is a quick example of how you could do this.
The dcl code
QuickTest
: dialog { label = "Smalll example";
: column {
: spacer {}
: text { key = "txt01"; }
: text { key = "txt02"; }
: text { key = "txt03"; }
: spacer {}
}
: row {
: spacer {}
: button { label = "Button 1"; key = "btn01"; }
: button { label = "Button 2"; key = "btn02"; }
: button { label = "Button 3"; key = "btn03"; is_cancel = true; }
: spacer {}
}
}
Save to a file, <you name it>.dcl, and place within your search paths.
Then load the lisp code below, change the name from 'MyDialogs.dcl' to the name you saved the above dcl code to.
(defun c:diatest ( / dia opt )
(setq dia (load_dialog "MyDialogs.dcl"))
(if (not (new_dialog "QuickTest" dia))
(exit)
)
(set_tile "txt01" "this is a text sting.")
(set_tile "txt02" "With multiple lines.")
(set_tile "txt03" "Again.")
(action_tile "btn01" "(done_dialog 1)")
(action_tile "btn02" "(done_dialog 2)")
(action_tile "btn03" "(done_dialog 3)")
(setq opt (start_dialog))
(cond
((equal opt 1) (prompt "\nButton 1 pressed."))
((equal opt 2) (prompt "\nButton 2 pressed."))
((equal opt 3) (prompt "\nButton 3 pressed."))
(t print opt)
)
(princ)
)
All this is going to do is print out which button you pressed, but it will give you an idea of how to code it up so that you can have those button be the options you want, and then execute that portion of the code. I hope that makes sense. Later you can worry about making the dialog look prettier and those things, but get a feel for working with dialogs and their associated lisp codes.