Create a modal dialog and wait for response.
Where you have an application that should look (more or less) native on several platforms, use tk_messageBox in preference to this if possible and reasonable.
The function can be found in the installed tcl/tk file dialog.tcl (http://core.tcl.tk/tk/finfo?name=library/dialog.tcl )
SYNOPSIS
DESCRIPTION
This procedure is part of the Tk script library. Its arguments describe a dialog box:
After creating a dialog box, tk_dialog waits for the user to select one of the buttons either by clicking on the button with the mouse or by typing return to invoke the default button (if any). Then it returns the index of the selected button: 0 for the leftmost button, 1 for the button next to it, and so on. If the dialog's window is destroyed before the user selects one of the buttons, then -1 is returned.
While waiting for the user to respond, tk_dialog sets a local grab. This prevents the user from interacting with the application in any way except to invoke the dialog box.
RS: You can set the font of all dialogs explicitly (tested on W95) with something like
option add *Dialog.msg.font {Arial 12}
Larry Smith You can use *Dialog*font {Arial 12} to make the buttons match.
LES on 07 May 2005: when this dialog pops up, we can tab through all the buttons and change which button is highlighted. Pressing space triggers the currently highlighted button's action, but pressing Enter/Return always triggers the default button, even if is not the one highlighted. Bug or feature?
MGS [2005/05/17] I believe this is a feature. The default button is defined when the dialog is created - I believe this should not change. The active button can be invoked using the spacebar.
SYStems Since the word modal bedazzled me I searched the net and found [L1 ] and I quote
A dialog can be either modeless (the default) or modal. A modal dialog is one which blocks input to all other toplevel windows in the app context, except for any windows created with the dialog as their owner
Of course the word default applies to Java, not Tk.
set default 1 set answer [tk_dialog .dialog1 "The Question" "You can have" question $default \ Cancel Water "No Tea" {No Milk} "No Coffee"] tk_messageBox -icon info -title "The Answer" -message "answer=$answer."
LGT bitmap parameter can be "@" followed by a path to an .xbm file.
set answer [tk_dialog .dialog1 "The Question" "You can have" "@../images/myquestionicon.xbm" $default \ Cancel Water "No Tea" {No Milk} "No Coffee"]
MHo: How to arrange that clicking on the close button of the dialog window closes it?