http://qs1969.pair.com?node_id=321704

xiper has asked for the wisdom of the Perl Monks concerning the following question:

Greetings fellow monkeys,

I am developing a small app in Perl/Tk under win32, and need to make my own dialog boxes. I would like to use the standard os-specific dialog icon's (error, info, question, warning), as provided by:

MainWindow->new->messageBox( -icon => '<type>' );
(not MainWindow->new->Dialog( -bitmap => '<type>' )->Show; - this uses Tk's builtin bitmaps, although both are the same on linux).

I've trawled through the docco, web, pm, Mastering Perl/Tk, and the source, without much luck in finding any clues on how to display these myself. Can anyone help? Here are a couple of hints to get you started:

  • messageBox() is defined in site\lib\Tk.pm, and calls MessageBox(), which references site\lib\Tk\Dialog.pm, which references site\lib\Tk\DialogBox.pm (which is a TopLevel).

  • If you specify anything other than the 4 defined -icon's, you get a
    invalid icon "<type>", must be error, info, question or warning at C:/ +Perl/site/lib/Tk.pm line 266.
    which apparently comes from site\lib\auto\Tk\Tk.dll.
  • Many thanks!

    - ><iper

    use japh; print;