I reported this issue:
use strict;
use warnings;
use utf8;
use Tk;
my $mw = MainWindow->new();
my $mbar = $mw ->Menu();
$mw ->configure( -menu => $mbar );
my $file = $mbar ->cascade(-label => '????'); # Thai string (substitute
your own)
MainLoop;
1;
This results in the menu being displayed as \x{0e41}, ...
I have tested using ActiveState Perl Builds 820 and 816.
It turns out that the problem only affects the menubar and seems to be
restricted to MS Windows only. I have tried to circumvent the problem by
building my own menubar as illustrated below:
use strict;
use warnings;
use utf8;
use Tk;
print "@INC\n";
my $mw = MainWindow->new( );
my $file_menuitems =
[
[ Button => '~???', -command => sub { exit } ]
];
my $edit_menuitems =
[
[ Button => '~??????', -command => sub
{ $mw->messageBox( -message => 'Do Save', -type => 'Ok' ) } ],
[ Button => '??????', -command => sub
{ $mw->messageBox( -message => 'Do Cancel', -type => 'Ok' ) } ]
];
my $mbar = $mw -> Frame();
$mbar->Menubutton( -text => '????', -underline => 1,
-tearoff => 0, -menuitems => $file_menuitems )
-> pack ( -side => 'left' );
$mbar->Menubutton( -text => '?????', -underline => 1,
-tearoff => 0, -menuitems => $edit_menuitems )
-> pack ( -side => 'left' );
$mbar->pack( -side => 'top', -anchor => 'w' );
MainLoop;
1;
This mostly works. However, some of the default bindings do not appear to
operate as documented. Most important, the use of Alt-x (using the keyboard
to post the Menubuttons in my menubar) has no affect.
Do I need to add my own bindings, or am I making some kind of silly mistake?
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs