<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>toplevel</title>
  </head>
  <body>
    <h1>toplevel</h1>

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

    <h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>

    <pre>
      <strong>toplevel</strong> <em>имяПути</em> ?<em>параметры</em>?
    </pre>


    <h2><a name=СТАНДАРТНЫЕ_ПАРАМЕТРЫ></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>

    <ul>
      <li><strong>-background</strong></li>
      <li><strong>-cursor</strong></li>
      <li><strong>-highlightbackground</strong></li>
      <li><strong>-highlightcolor</strong></li>
      <li><strong>-highlightthickness</strong></li>
      <li><strong>-relief</strong></li>
      <li><strong>-takefocus</strong></li>
    </ul>


    <p>Подробное описание этих параметров приведено в разделе <a
	href=options.html><strong>options</strong></a>.</p>

    <h2><a name=ДОПОЛНИТЕЛЬНЫЕ_ПАРАМЕТРЫ_ПРИМИТИВА></a>ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА</h2>

    <table>
	<tr><td>Имя параметра:</td><td><strong>-background</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>background</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Background</strong></td></tr>
    </table>
      
    <p>Этот параметр по смыслу совпадает со стандартным параметром
      <strong>background</strong> за исключением того, что его
      значением может являться и пустая строка. В последнем случае при
      выводе примитива не появляется ни фона, ни бордюра, и для них не
      используется ни одна из красок его палитры.</p>

    <table>
	<tr><td>Имя параметра:</td><td><strong>-class</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>class</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Class</strong></td></tr>
    </table>

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

    <table>
	<tr><td>Имя параметра:</td><td><strong>-colormap</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>colormap</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Colormap</strong></td></tr> 
    </table>

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

    <table>
	<tr><td>Имя параметра:</td><td><strong>-container</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>container</strong></td></tr>
	<tr><td>Класс в	Базе:</td><td><strong>Container</strong></td></tr>
    </table>

    <p>Значение параметра должно быть булевским. Если его значение
      истина, то окно будет использоваться в качестве контейнера, в
      который будет вставляться некоторое другое приложение (например,
      можно вставить примитив верхнего уровня Tk с помощью параметра
      -use). Окно будет поддерживать соответствующие протоколы
      управления окнами, например, для обработки геометрических
      запросов. Параметр <strong>-container</strong> нельзя
      переопределить командой примитива
      <strong>configure</strong>.</p>
    
    <table>
	<tr><td>Имя параметра:</td><td><strong>-height</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>height</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Height</strong></td></tr> 
    </table>

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

    <table>
	<tr><td>Имя параметра:</td><td><strong>-menu</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>menu</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Menu</strong></td></tr>
    </table>

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

    <table>
	<tr><td>Имя параметра:</td><td><strong>-screen</strong></td></tr>
	<tr><td>Имя в Базе:</td><td></td></tr>
	<tr><td>Класс в Базе:</td><td></td></tr>
    </table>

    <p>Задает экран, на котором следует разместить новое окно. Может
      быть использовано произвольное допустимое имя экрана, в том
      числе и отличное от текущего. По умолчанию значением является
      имя текущего экрана. Параметр <strong>-screen</strong> является
      специальным и его нельзя переопределить командой примитива
      <strong>configure</strong>.</p>
    
    <table>
	<tr><td>Имя параметра:</td><td><strong>-use</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>use</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Use</strong></td></tr>
    </table>

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

    <table>
	<tr><td>Имя параметра:</td><td><strong>-visual</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>visual</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Visual</strong></td></tr>
    </table>

    <p>Задает внешний вид окна в любом виде, приемлемом для
      <strong>Tk_GetVisual</strong>. Если параметр не задан, то
      используется его значение по умолчанию для экрана. Параметр
      <strong>-visual</strong> нельзя переопределить командой примитива
      <strong>configure</strong>.</p>
      
    <table>
	<tr><td>Имя параметра:</td><td><strong>-width</strong></td></tr>
	<tr><td>Имя в Базе:</td><td><strong>width</strong></td></tr>
	<tr><td>Класс в Базе:</td><td><strong>Width</strong></td></tr>
    </table>

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

    <h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>

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

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

    <h2><a name=КОМАНДА_ПРИМИТИВА></a>КОМАНДА ПРИМИТИВА</h2>


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

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

    <p>Примитивы верхнего уровня допускают следующие команды:</p>
    
    <dl>
      <dt><em>имяПути</em> <strong>cget</strong> <em>параметр</em></dt>

      <dd>Возвращает текущее значение параметра конфигурации с именем
	<em>параметр</em>. Параметр может быть любым из параметров
	команды <strong>toplevel</strong></dd>

      <dt><em>имяПути</em> <strong>configure</strong> ?<em>параметр</em>?
	?<em>значение параметр значение ...</em></dt>

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

    <h2><a name=ПРИВЯЗКИ></a>ПРИВЯЗКИ</h2>

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