в верхней части которого находится
Проблема
Требуется создать окно, в верхней части которого находится меню.
Решение
Воспользуйтесь элементами Tk Menubutton и Frame:
use Tk,
$main = MainWmdow->new(),
9 Создать для меню горизонтальную область
# в верхней части окна.
Smenubar = $main->Frame(-relief => ' raised1,
-borderwidth => 2)
->pack (-anchor => "nw",
-fill => 'x"),
# Создать кнопку с надписью "File для вызова меню.
$file_menu = $menubar->Menubutton(-text => "File",
-underline => 1) ->pack (-side => "left" );
# Создать команды меню "File"
$file_menu->command(-label => "Print',
-command => \&Print);
To же самое можно сделать намного проще, если воспользоваться сокращенной записью -menuitems:
$file_menu = $menubar->Menubutton(-text => 'File",
-underlined 1, -menuitems=> [
[ Button => "Print",-command => \&Print ], [ Button => "Save",-command => \&Save ] ]) ->pack(-side => "left");
Комментарий
Меню приложения можно рассматривать как совокупность четырех компонентов: области (Frame), кнопок меню (Menubutton), меню (Menus) и команд меню (Menu Entries). Область представляет собой горизонтальную полосу в верхней части окна, в котором находится меню. Внутри области находится набор кнопок меню, открывающих различные меню: File, Edit, Format, Buffers и т. д. Когда пользователь щелкает на кнопке меню, на экране появляется соответствующее меню — вертикальный список команд.
В меню могут включаться разделители — горизонтальные линии, отделяющие один набор команд от другого.
С командами (например, Print в меню File) ассоциируются фрагменты кода. При выборе команды меню вызывается соответствующая функция. Обычно это делается так:
$file_menu->command(-label => "Quit Immediately", -command => sub { exit } ),
С разделителями действия не связываются:
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий