dakers001 has asked for the wisdom of the Perl Monks concerning the following question:
I’m new to the monetary so please forgive any unintentional broken rules.
I am working on a graphical interface that will be used to speed up data
retrieval from a remote server @ my workplace. My problem is not life or
death I’ve already got it working with a separate button, but I’d like to
be able to bind the delete button to delete unwanted entries from a scrolled
listbox, which I have working the only problem is I can’t get the right
widget to take focus on a button click. The current code makes the listbox
take focus but the button bind won’t work. However, if I tab from the entry
widget to the frame that contains the scolled widget the button bind works
flawlessly. Is there some way I can bind to <ButtonRelease-1> to focus on
the Tk::Frame that contains the widget?
System:
OS: HP-UX 10.2 and WinXP
PERL: build 5.0004 on HP and 5.8.8 on XP
# --------------------------------------
# ----- Parameter List and Delete Button
# --------------------------------------
$p2->Label( -width=>$testlbl,
-text=>"Parameter List",
-foreground=>'#FFFFFF',
-background=>'#666666',
-font=>$font,
-anchor=>'center')->
grid(-row => 6, -column => 0, -columnspan=>5, -padx=>5, -pady=>0, -sticky => 'ew');
$lstbox = $p2->Scrolled( "Listbox",
-scrollbars=>'osoe',
-selectmode=>'extended',
-foreground=>'#FFFFFF',
-background=>'#7E7E68',
-font=>$font,
-width=>40 )->
grid(-row => 7, -column =>0, -columnspan=>5, -padx=>5, -pady=>0, -sticky => 'nsew');
$lstbox->Subwidget("corner")->configure( -background=>'#666666' );
$lstbox->Subwidget("xscrollbar")->configure(-background=>'#666666' );
$lstbox->Subwidget("yscrollbar")->configure(-background=>'#666666' );
$lstbox->bind( '<ButtonRelease-1>' =>\sub{ $lstbox->focus});
$lstbox->bind($lstbox, '<Delete>' =>\&Deltxt );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Problem with Correct Widget focus();
by thundergnat (Deacon) on May 24, 2007 at 18:17 UTC | |
by dakers001 (Initiate) on May 24, 2007 at 19:10 UTC |