Ok, now I see better what you are trying to accomplish... Seems to me like it would be easier to just use the validateCommand and invalidCommand options in the Entries.

See below: Of course the parameters of what constitutes a "bad" entry probably need to be adjusted.

Minor edit: regularized some variables.

#!/usr/bin/perl -w use strict; use Tk; use Tk::Dialog; my %w; # widget hash my @entries = ( { max => 100, min => 10, value => 50 }, { max => 150, min => 15, value => 75 }, { max => 200, min => 20, value => 110 }, ); $w{mw} = MainWindow->new; $w{frame} = $w{mw}->Frame->pack( -padx => 50, -pady => 50 ); for my $i ( 0 .. 2 ) { ${w}{entries}[$i]{name} = $w{frame}->Entry( -relief => 'raised', -textvariable => \$entries[$i]{value}, -validate => 'focusout', -vcmd => sub { $_[0] !~ /\D/ && $_[0] <= $entries[$i]{max} && $_[0] >= $entries[$i]{min}; }, -invcmd => sub { $w{invalid}->configure( -text => ( $_[0] =~ /\D/ ) ? 'Not an integ +er' : ( $_[0] > $entries[$i]{max} ) ? 'Number too l +arge' : ( $_[0] < $entries[$i]{min} ) ? 'Number too s +mall' : 'Bogus entry' ); $w{invalid}->Show; ${w}{entries}[$i]{name}->focus; }, )->pack( -side => 'left', -padx => 50, -pady => 50 ); } $w{invalid} = $w{mw}->Dialog( -title => 'Invalid entry' ); MainLoop;

In reply to Re^5: Tk - Focus & Mouse - On & Off by thundergnat
in thread Tk - Focus & Mouse - On & Off by merrymonk

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.