Is there a method to have Tk::Optionmenu start displaying the option list without having the user first click the button?

Question 2: Why does the Optionmenu callback function (localCall below) get called before the user click of Optionmenu button? Please look at my workaround.

Thanks

!/usr/bin/perl -w use strict; use warnings; # teest Tk::Menuoption use Tk; use Tk::Optionmenu; my $mw = new MainWindow; my $baseFrame = $mw->Frame()->pack( -side=>'top', -fill=>'both', -expand=>0); my $name_text = "phone name"; my $phoneNo = 51206; $baseFrame->Button(-text=>$phoneNo, -relief=>'flat', -cursor=>'hand1', -activeforeground=>'blue', -activebackground=>'white', -command => sub {phoneCmds( $baseFrame, $phoneNo);}, )->pack(-side=>'left'); my $cmdsFrame; my $cm; sub phoneCmds { my ( $baseFrame, $caller, ) = @_; my $deviceDN = $caller; print "caller(deviceDN)=$deviceDN\n"; $cmdsFrame = $baseFrame->Frame( )->pack( -side=>'left', -fill=>'both', -expand=>0); my @callees = qw/46001 46002 46003 46004/; my $callee; $cm = $cmdsFrame->Optionmenu(- -variable =>\$callee, -options => [@callees], -command => [\&localCall, $caller], ); $cm->pack(); } sub localCall { my ( $caller, $callee, ) = @_; return if !defined($callee); return if !defined($cm); print "localCall: caller=$caller callee = $callee\n"; $cm->destroy() if $cm && $cm->exists(); $cm = undef; $cmdsFrame->destroy() if $cmdsFrame && $cmdsFrame->exists(); # $cmdsFrame = undef; } MainLoop;

In reply to Tk:::Optionmenu startup displaying the optionlist by Ray Smith

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.