81 lines
2.6 KiB
Perl
81 lines
2.6 KiB
Perl
use Tk;
|
|
|
|
my $main = MainWindow->new;
|
|
|
|
my $menubar = $main->Frame;
|
|
|
|
$menubar->pack(-fill => 'x');
|
|
|
|
my $filemenu = $menubar->Menubutton(-text => 'File');
|
|
|
|
$filemenu->command(
|
|
-label => 'Open',
|
|
-command => sub {$text1->insert('1.0', "You chose open.\n")},
|
|
-accelerator => 'Ctrl+O',
|
|
);
|
|
|
|
$main->bind('<Control-o>' => sub {$text1->insert('1.0', "You chose open.\n")});
|
|
|
|
$filemenu->cascade(-label => 'Check buttons');
|
|
$filemenu->cascade(-label => 'Radio buttons');
|
|
|
|
my $checkcascade = $filemenu->cget(-menu);
|
|
my $checkmenu = $checkcascade->Menu;
|
|
$filemenu->entryconfigure('Check buttons', -menu => $checkmenu);
|
|
|
|
$checkmenu->checkbutton(-label => 'Check 1', -variable => \$check1,
|
|
-command => sub {$text1->insert('1.0', "You chose check 1.\n")});
|
|
$checkmenu->checkbutton(-label => 'Check 2', -variable => \$check2,
|
|
-command => sub {$text1->insert('1.0', "You chose check 2.\n")});
|
|
$checkmenu->checkbutton(-label => 'Check 8', -variable => \$check8,
|
|
-command => sub {$text1->insert('1.0', "You chose check 8.\n")});
|
|
|
|
my $radiocascade = $filemenu->cget(-menu);
|
|
my $radiomenu = $radiocascade->Menu;
|
|
$filemenu->entryconfigure('Radio buttons', -menu => $radiomenu);
|
|
|
|
$radiomenu->radiobutton(-label => 'Radio 1', -variable => \$radio1,
|
|
-command => sub {$text1->insert('1.0', "You chose radio 1.\n")});
|
|
$radiomenu->radiobutton(-label => 'Radio 2', -variable => \$radio1,
|
|
-command => sub {$text1->insert('1.0', "You chose radio 2.\n")});
|
|
$radiomenu->separator;
|
|
$radiomenu->radiobutton(-label => 'Radio 5', -variable => \$radio2,
|
|
-command => sub {$text1->insert('1.0', "You chose radio 5.\n")});
|
|
$radiomenu->radiobutton(-label => 'Radio 6', -variable => \$radio2,
|
|
-command => sub {$text1->insert('1.0', "You chose radio 6.\n")});
|
|
$radiomenu->separator;
|
|
|
|
$filemenu->command('-label' => 'Exit', '-command' => sub {exit});
|
|
|
|
$filemenu->pack(-side => 'left');
|
|
|
|
$editmenu = $menubar->Menubutton('-text' => 'Edit')->pack('-side' =>
|
|
'left');
|
|
|
|
$editmenu->command(-label => 'Search',
|
|
-background => "red",
|
|
-command => sub
|
|
{$text1->delete('1.0', 'end');
|
|
$text1->insert('end', "You chose search.");});
|
|
|
|
$editmenu->command(-label => 'Replace',
|
|
-background => "orange",
|
|
-command => sub
|
|
{$text1->delete('1.0', 'end');
|
|
$text1->insert('end', "You chose replace.");});
|
|
|
|
$editmenu->command(-label => 'Find',
|
|
-background => "yellow",
|
|
-command => sub
|
|
{$text1->delete('1.0', 'end');
|
|
$text1->insert('end', "You chose find.");});
|
|
|
|
|
|
$editmenu->pack(-side => 'left');
|
|
|
|
$text1 = $main->Text;
|
|
|
|
$text1->pack(-fill => 'both');
|
|
|
|
MainLoop;
|