Subject: | Toplevel remains resizable if Tk::Menu is used |
Distribution: Activestate perl 5.6.1 for MSWin32-x86-multi-thread
Tk version: 800.023
OS: MS Windows XP
Calling resizable(0,1) or (1,0) is ineffective if a main menu is created. But resizable(0,0) seems to always work regardless of the menu's existence. I need my toplevel to be resizable only in the x dimension. I've tried a number of things to make the window manager respect the resizable call including withdrawing the toplevel, updating it, iconifying and deiconifying it (which I think is the same thing as a withdraw followed by a deiconify). In all cases, the resizable call is ignored except when both arguments are false.
Here's code that demonstrates the ineffectiveness of resizable.
use Tk;
my $mw = MainWindow->new(-title=>'test resizable method');
my $m = $mw->Menu;
$m->command(-label=>"File", -command=>sub{print "File\n"});
$mw->configure(-menu=>$m);
$mw->resizable(1, 0);
MainLoop;
Here's code that works:
use Tk;
my $mw = MainWindow->new(-title=>'test resizable method');
my $m = $mw->Menu;
$m->command(-label=>"File", -command=>sub{print "File\n"});
#$mw->configure(-menu=>$m);
$mw->resizable(1, 0);
MainLoop;
This, of course, also works:
use Tk;
my $mw = MainWindow->new(-title=>'test resizable method');
$mw->resizable(1, 0);
MainLoop;
And as I said above, resizable(0,0) always works.