# toplevel

Создание примитива верхнего уровня и управление им.

## СИНТАКСИС

          toplevel имяПути ?параметры?

## СТАНДАРТНЫЕ ПАРАМЕТРЫ

- -background
- -cursor
- -highlightbackground
- -highlightcolor
- -highlightthickness
- -relief
- -takefocus

Подробное описание этих параметров приведено в разделе options.

## ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

Имя параметра: | -background
Имя в Базе: | background
Класс в Базе: | Background

Этот параметр по смыслу совпадает со стандартным параметром background за исключением того, что его значением может являться и пустая строка. В последнем случае при выводе примитива не появляется ни фона, ни бордюра, и для них не используется ни одна из красок его палитры.

Имя параметра: | -class
Имя в Базе: | class
Класс в Базе: | Class

Задает класс окна. Этот класс используется при запросах базы данных параметров о значениях других параметров примитива; а также при определении привязок. Параметр -class нельзя переопределить командой примитива configure.

Имя параметра: | -colormap
Имя в Базе: | colormap
Класс в Базе: | Colormap

Задает палитру, используемую в окне. Значением параметра может быть либо new (и в этом случае для данного окна и его потомков создается новая палитра), либо имя другого окна (которое должно находиться на том же экране и иметь то же значение параметра -visual, что и имяПути). Если параметр -colormap не задан, то новое окно использует палитру экрана по умолчанию. Параметр -colormap нельзя переопределить командой примитива configure.

Имя параметра: | -container
Имя в Базе: | container
Класс в Базе: | Container

Значение параметра должно быть булевским. Если его значение истина, то окно будет использоваться в качестве контейнера, в который будет вставляться некоторое другое приложение (например, можно вставить примитив верхнего уровня Tk с помощью параметра -use). Окно будет поддерживать соответствующие протоколы управления окнами, например, для обработки геометрических запросов. Параметр -container нельзя переопределить командой примитива configure.

Имя параметра: | -height
Имя в Базе: | height
Класс в Базе: | Height

Задает желаемую высоту окна в любом виде, приемлемом для Tk_GetPixels. Если введенное значение неположительно, то место для окна вообще не запрашивается.

Имя параметра: | -menu
Имя в Базе: | menu
Класс в Базе: | Menu

Задает примитив меню, используемый в качестве полосы меню. На Macintosh полоса меню будет выведена вверху основного монитора. В Microsoft Windows и на всех платформах UNIX меню выводится поверх окна верхнего уровня как деталь оформления окна менеджером окон.

Имя параметра: | -screen
Имя в Базе: |
Класс в Базе: |

Задает экран, на котором следует разместить новое окно. Может быть использовано произвольное допустимое имя экрана, в том числе и отличное от текущего. По умолчанию значением является имя текущего экрана. Параметр -screen является специальным и его нельзя переопределить командой примитива configure.

Имя параметра: | -use
Имя в Базе: | use
Класс в Базе: | Use

Используется для вставки. Если значение параметра отлично от пустой строки, то оно должно быть идентификатором окна-контейнера, заданным в виде шестнадцатиричной строки, в том виде, в котором возвращает результат команда window id. Примитив верхнего уровня будет создаваться как непосредственный потомок указанного контейнера, а не корневого окна экрана. Если окно-контейнер содержится в приложении Tk, то оно должно быть либо рамкой, либо примитивом верхнего уровня, для которого задан параметр -container. Параметр -use нельзя переопределить командой примитива configure.

Имя параметра: | -visual
Имя в Базе: | visual
Класс в Базе: | Visual

Задает внешний вид окна в любом виде, приемлемом для Tk_GetVisual. Если параметр не задан, то используется его значение по умолчанию для экрана. Параметр -visual нельзя переопределить командой примитива configure.

Имя параметра: | -width
Имя в Базе: | width
Класс в Базе: | Width

Задает желаемую ширину окна в любом виде, приемлемом для Tk_GetPixels. Если введенное значение неположительно, то место для окна вообще не запрашивается.

## ОПИСАНИЕ

Команда toplevel создает новый примитив верхнего уровня (задаваемый аргументом имяПути). Детали изображения примитива верхнего уровня, такие как цвет его фона и объемный вид, задаются с помощью описанных выше дополнительных параметров. Команда toplevel возвращает аргумент имяПути.

Примитив верхнего уровня похож на рамку; отличие состоит в том, что он создается как окно верхнего уровня: его непосредственным X предком является корневое окна экрана, а не логический предок, определяемый именем пути. Основная задача примитива верхнего уровня служить контейнером для диалоговых окон и других наборов примитивов. Единственными параметрами вывода примитива верхнего уровня являются цвет его фона и необязательный трехмерный бордюр, который позволяет примитиву выглядеть выпуклым или вдавленным.

## КОМАНДА ПРИМИТИВА

Команда toplevel создает новую команду Tcl, имя которой совпадает с именем окна примитива верхнего уровня. С помощью этой команды можно выполнять различные операции над примитивом. Ее общий вид

          имяПути параметр арг арг ...

имяПути является именем команды, которое совпадает с именем пути примитива верхнего уровня. Параметр и аргументы уточняют поведение команды.

Примитивы верхнего уровня допускают следующие команды:

имяПути cget параметр
  Возвращает текущее значение параметра конфигурации с именем параметр. Параметр может быть любым из параметров команды toplevel
имяПути configure ?параметр? ?значение параметр значение ...
  Запрашивает значения параметров конфигурации примитива или изменяет их. Если параметр не указан, то возвращает список, содержащий значения всех допустимых в имениПути параметров (формат списка описан в Tk_ConfigureInfo). Если параметр задан, а его новое значение нет, то команда возвращает часть полного списка, относящуюся к указанному параметру. Если заданы одна или несколько пар параметр-значение, то указанным параметрам примитива присваиваются новые значения. В этом случае команда возвращает пустую строку. Параметр может быть любым из параметров команды toplevel.

## ПРИВЯЗКИ

При создании примитива верхнего уровня никаких привязок не создается: эти примитивы не предполагаются интерактивными.