Welcome to the Southern African Autolisp Website.
You are Visitor Number since 1st April 1999.
AutoLisp Message Box.
This library of AutoLisp Functions closely emulates the Visual Basic Message
Box Function. It will display 5 different types of message boxes and allows
you to enter 3 text message lines and customise the Message Box title.
The message boxes available are :
Ok Only
Ok Cancel
Rentry Cancel
Yes No
Yes No Cancel
The syntax for usage is as follows:
(function name "message1" "message2" "message3" "title")
For example:
(lspokcancel "This is the first line" "This is the second line"
"This is the third line" "This is the title")
Here is a detailed explanation of each message box:
Ok Only.
Syntax : (lspOkOnly "message1" "message2" "message3" "title")
This message box returns nothing as it is used to convey a message only
Ok Cancel.
Syntax : (lspOkCancel "message1" "message2" "message3" "title")
This message box returns True if OK selected and nil if Cancel selected
Rentry Cancel.
Syntax : (lspRentryCancel "message1" "message2" "message3" "title")
This message box returns True if Rentry selected and nil if Cancel selected
Yes No.
Syntax : (lspYesNo "message1" "message2" "message3" "title")
This message box returns True if Yes selected and "F" if No selected
Yes No Cancel.
Syntax : (lspYesNoCancel "message1" "message2" "message3" "title")
This message box returns True if Yes selected, "F" if No selected
and nil if Cancel selected.
Source Coding.
Here is the DCL Source Coding:
lspOkCancel : dialog {
key = "main";
: column {
: text {
key = "message1";
}
: text {
key = "message2";
}
: text {
key = "message3";
}
}
: row {
: spacer { width = 1; }
: button {
label = "OK";
key = "accept";
width = 12;
fixed_width = true;
mnemonic = "O";
is_default = true;
}
: button {
label = "Cancel";
key = "cancel";
width = 12;
fixed_width = true;
mnemonic = "C";
is_cancel = true;
}
: spacer { width = 1;}
}
}
////////////////////////////////////////////////
lspYesNo : dialog {
key = "main";
: column {
: text {
key = "message1";
}
: text {
key = "message2";
}
: text {
key = "message3";
}
}
: row {
: spacer { width = 1; }
: button {
label = "Yes";
key = "yes";
width = 12;
fixed_width = true;
mnemonic = "Y";
is_default = true;
}
: button {
label = "No";
key = "no";
width = 12;
fixed_width = true;
mnemonic = "N";
is_cancel = true;
}
: spacer { width = 1;}
}
}
////////////////////////////////////////////
lspOkOnly : dialog {
key = "main";
: column {
: text {
key = "message1";
}
: text {
key = "message2";
}
: text {
key = "message3";
}
}
: row {
: spacer { width = 1; }
: button {
label = "OK";
key = "accept";
width = 12;
fixed_width = true;
mnemonic = "O";
is_default = true;
alignment = centered;
}
: spacer { width = 1;}
}
}
////////////////////////////////////////////////
lspYesNoCancel : dialog {
key = "main";
: column {
: text {
key = "message1";
}
: text {
key = "message2";
}
: text {
key = "message3";
}
}
: row {
: spacer { width = 1; }
: button {
label = "Yes";
key = "yes";
width = 12;
fixed_width = true;
mnemonic = "Y";
is_default = true;
}
: button {
label = "No";
key = "no";
width = 12;
fixed_width = true;
mnemonic = "N";
}
: button {
label = "Cancel";
key = "cancel";
width = 12;
fixed_width = true;
mnemonic = "C";
is_cancel = true;
}
: spacer { width = 1;}
}
}
////////////////////////////////////////////
lspRentryCancel : dialog {
key = "main";
: column {
: text {
key = "message1";
}
: text {
key = "message2";
}
: text {
key = "message3";
}
}
: row {
: spacer { width = 1; }
: button {
label = "Rentry";
key = "rentry";
width = 12;
fixed_width = true;
mnemonic = "R";
is_default = true;
}
: button {
label = "Cancel";
key = "Cancel";
width = 12;
fixed_width = true;
mnemonic = "C";
is_cancel = true;
}
: spacer { width = 1;}
}
}
////////////////////////////////////////////
And the Autolisp Code:
(defun lspOkCancel (message1 message2 message3 main)
(setq dcl_id (load_dialog "msgbox.dcl"))
(if (not (new_dialog "lspOkCancel" dcl_id))
(exit)
)
(set_tile "message1" message1)
(set_tile "message2" message2)
(set_tile "message3" message3)
(set_tile "main" main)
(action_tile
"cancel"
"(done_dialog)
(setq result nil)"
)
(action_tile
"accept"
"(done_dialog)
(setq result T)"
)
(start_dialog)
(unload_dialog dcl_id)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun lspYesNo (message1 message2 message3 main)
(setq dcl_id (load_dialog "msgbox.dcl"))
(if (not (new_dialog "lspYesNo" dcl_id))
(exit)
)
(set_tile "message1" message1)
(set_tile "message2" message2)
(set_tile "message3" message3)
(set_tile "main" main)
(action_tile
"no"
"(done_dialog)
(setq result \"F\")"
)
(action_tile
"yes"
"(done_dialog)
(setq result T)"
)
(start_dialog)
(unload_dialog dcl_id)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun lspOkOnly (message1 message2 message3 main)
(setq dcl_id (load_dialog "msgbox.dcl"))
(if (not (new_dialog "lspOkOnly" dcl_id))
(exit)
)
(set_tile "message1" message1)
(set_tile "message2" message2)
(set_tile "message3" message3)
(set_tile "main" main)
(action_tile
"yes"
"(done_dialog)"
)
(start_dialog)
(unload_dialog dcl_id)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun lspYesNoCancel (message1 message2 message3 main)
(setq dcl_id (load_dialog "msgbox.dcl"))
(if (not (new_dialog "lspYesNoCancel" dcl_id))
(exit)
)
(set_tile "message1" message1)
(set_tile "message2" message2)
(set_tile "message3" message3)
(set_tile "main" main)
(action_tile
"no"
"(done_dialog)
(setq result \"F\")"
)
(action_tile
"yes"
"(done_dialog)
(setq result T)"
)
(action_tile
"cancel"
"(done_dialog)
(setq result nil)"
)
(start_dialog)
(unload_dialog dcl_id)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun lspRentryCancel (message1 message2 message3 main)
(setq dcl_id (load_dialog "msgbox.dcl"))
(if (not (new_dialog "lspRentryCancel" dcl_id))
(exit)
)
(set_tile "message1" message1)
(set_tile "message2" message2)
(set_tile "message3" message3)
(set_tile "main" main)
(action_tile
"cancel"
"(done_dialog)
(setq result nil)"
)
(action_tile
"rentry"
"(done_dialog)
(setq result T)"
)
(start_dialog)
(unload_dialog dcl_id)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(princ)
If you would like the source coding for the the Message Box routine, just
place your mouse here, and click....Enjoy.
Copyright © 1999 by
AfraLisp
All rights reserved.
Information in this document is subject to change without notice.
Site created and maintained by Kenny Ramage.
|