931 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			931 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
 | ||
| <html>
 | ||
|   <head>
 | ||
|     <title>menu</title>
 | ||
|   </head>
 | ||
|   <body>
 | ||
| 
 | ||
|     <h1>menu</h1>
 | ||
| 
 | ||
|       <p>Создание примитива меню и управление им.</p>
 | ||
| 
 | ||
|     <h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
 | ||
| 
 | ||
|     <pre>
 | ||
|       <strong>menu</strong> <em>имяПути</em> ?<em>параметры</em>?
 | ||
|     </pre>
 | ||
| 
 | ||
|     <h2><a name=СТАНДАРТНЫЕ_ПАРАМЕТРЫ></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>
 | ||
| 
 | ||
|     <ul>
 | ||
|       <li><strong>-activebackground</strong></li>
 | ||
|       <li><strong>-activeborderwidth</strong></li>
 | ||
|       <li><strong>-activeforeground</strong></li>
 | ||
|       <li><strong>-background</strong></li>
 | ||
|       <li><strong>-borderwidth</strong></li>
 | ||
|       <li><strong>-cursor</strong></li>
 | ||
|       <li><strong>-disabledforeground</strong></li>
 | ||
|       <li><strong>-font</strong></li>
 | ||
|       <li><strong>-foreground</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>-postcommand</strong></td></tr>
 | ||
|       <tr><td>Имя в Базе:</td><td><strong>postCommand</strong></td></tr>
 | ||
|       <tr><td>Класс в Базе:</td><td><strong>PostCommand</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Задает команду Tcl, которая должна выполняться при каждом
 | ||
|       выводе меню. Эта команда выполняется командой примитива
 | ||
|       <strong>post</strong> непосредственно перед выводом меню. В
 | ||
|       версии 8.0 операционной системы Macintosh и в Windows все
 | ||
|       команды системы меню выполняются перед выводом меню. Это
 | ||
|       объясняется ограничениями, накладываемыми конкретными системами
 | ||
|       управления меню данных платформ.</p>
 | ||
| 
 | ||
|     <table>
 | ||
| 	<tr><td>Имя параметра:</td><td><strong>-selectcolor</strong></td></tr>
 | ||
| 	<tr><td>Имя в Базе:</td><td><strong>selectColor</strong></td></tr>
 | ||
| 	<tr><td>Класс в Базе:</td><td><strong>Background</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Задает цвет индикатора при выделении входа меню,
 | ||
|       представляющего собой защелкивающуюся кнопку или
 | ||
|       переключатель.</p>
 | ||
| 
 | ||
|     <table>
 | ||
| 	<tr><td>Имя параметра:</td><td><strong>-tearoff</strong></td></tr>
 | ||
| 	<tr><td>Имя в Базе:</td><td><strong>tearOff</strong></td></tr>
 | ||
| 	<tr><td>Класс в Базе:</td><td><strong>TearOff</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Принимает булевское значение, указывающее, должен ли вверху
 | ||
|       меню быть ключ отрыва. Если значение параметра истина, то ключ
 | ||
|       отрыва имеет номер ноль, а нумерация последующих входов в меню
 | ||
|       начинается с единицы.</p>
 | ||
| 
 | ||
|     <table>
 | ||
| 	<tr><td>Имя параметра:</td><td><strong>-tearoffcommand</strong></td></tr>
 | ||
| 	<tr><td>Имя в Базе:</td><td><strong>tearOffCommand</strong></td></tr>
 | ||
| 	<tr><td>Класс в Базе:</td><td><strong>TearOffCommand</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Если значение этого параметра не пустая строка, то оно задает
 | ||
|       команду, которая должна выполняться при каждом отрыве от меню. В
 | ||
|       действительности выполняемая команда состоит из указанной
 | ||
|       строки, за которой следуют имя меню и имя окна меню отрыва
 | ||
|       (отделенные от строки команды и друг от друга пробелами). Если,
 | ||
|       например, параметр имеет значение "<strong>a
 | ||
|       b</strong>" и в результате отрыва от меню
 | ||
|       <strong>.x.y</strong> должно быть создано новое меню
 | ||
|       <strong>.x.tearoff1</strong>, то будет выполнена команда
 | ||
|       "<strong>.a b .x.y .x.tearoff1</strong>".</p>
 | ||
| 
 | ||
|     <table>
 | ||
| 	<tr><td>Имя параметра:</td><td><strong>-title</strong></td></tr>
 | ||
| 	<tr><td>Имя в Базе:</td><td><strong>title</strong></td></tr>
 | ||
| 	<tr><td>Класс в Базе:</td><td><strong>Title</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Строка значение параметра задает имя окна, создаваемого при
 | ||
|       отрыве от данного меню. Если значением параметра служит NULL, то
 | ||
|       именем окна станет либо имя кнопки меню, либо содержимое
 | ||
|       элемента каскада, из которого выполняется данное меню.<br>
 | ||
| 
 | ||
|     <table>
 | ||
| 	<tr><td>Имя параметра:</td><td><strong>-type</strong></td></tr>
 | ||
| 	<tr><td>Имя в Базе:</td><td><strong>type</strong></td></tr>
 | ||
| 	<tr><td>Класс в Базе:</td><td><strong>Type</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Параметр может принимать одно из значений
 | ||
|       <strong>menubar</strong>, <strong>tearoff</strong> или
 | ||
|       <strong>normal</strong>; это значение устанавливается при
 | ||
|       создании меню. При изменении значения меняется строка,
 | ||
|       возвращаемая конфигурационной базой данных, однако это не
 | ||
|       оказывает влияния на поведение примитива меню. Это свойство
 | ||
|       используется механизмом клонирования и обычно не применяется за
 | ||
|       пределами библиотеки Tk.</p>
 | ||
| 
 | ||
|     <h2><a name=ВВЕДЕНИЕ></a>ВВЕДЕНИЕ</h2>
 | ||
| 
 | ||
|     <p>Команда <strong>menu</strong> создает новое окно (заданное
 | ||
|       аргументом <em>имяПути</em>) и превращает его в примитив
 | ||
|       меню. Детали изображения меню, такие как его цвета и шрифты,
 | ||
|       задаются с помощью описанных выше дополнительных параметров в
 | ||
|       командной строке или в базе данных параметров. Команда
 | ||
|       <strong>menu</strong> возвращает имя пути нового окна. В момент
 | ||
|       выполнения команды не должно быть окна с именем
 | ||
|       <em>имяПути</em>, однако его непосредственный предок должен
 | ||
|       существовать.
 | ||
| 
 | ||
|     <p>Меню представляет собой примитив, предназначенный для вывода
 | ||
|       совокупности однострочных входов, разбитых на несколько колонок
 | ||
|       (быть может, одну). Входы бывают различных типов и имеют
 | ||
|       соответственно различные свойства. Входы различных типов могут
 | ||
|       содержаться в одном и том же меню. Вход меню (menu entry) совсем
 | ||
|       не то же самое, что примитив поля ввода (entry). Более того,
 | ||
|       вход меню не является отдельным примитивом все вместе они
 | ||
|       образуют примитив меню.</p>
 | ||
| 
 | ||
|     <p>При выводе вход меню может содержать до трех различных
 | ||
|       полей. Главное поле представляет собой метку входа; оно содержит
 | ||
|       строку текста, изображение или двуцветное изображение в
 | ||
|       зависимости от значения параметров входа
 | ||
|       <strong>-label</strong>, <strong>-bitmap</strong> и
 | ||
|       <strong>-image</strong>. Если для данного входа задан параметр
 | ||
|       <strong>-accelerator</strong>, то справа от метки появляется
 | ||
|       второе текстовое поле. Этот параметр обычно описывает
 | ||
|       совокупность клавиш, нажатие на которые приводит к тому же
 | ||
|       результату, что и выбор данного входа в меню. Третье поле
 | ||
|       представляет собой <em>индикатор</em>. Индикатор применяется
 | ||
|       только для защелкивающихся входов или переключателей. Он
 | ||
|       указывает, выделен или нет данный вход, и располагается слева от
 | ||
|       строки входа.</p>
 | ||
| 
 | ||
|     <p>При обычном использовании вход становится активным (при этом
 | ||
|       меняется вид строки), если на нем расположен курсор Мыши. Если
 | ||
|       клавишу .Мыши. в таком положении отпустить, то вход будет
 | ||
|       выполнен. Результат выполнения зависит от типа входа. Подробное
 | ||
|       описание результатов приведено ниже при описании конкретных
 | ||
|       типов входов.</p>
 | ||
| 
 | ||
|     <p>Входы могут быть отключены (disabled); изображение такого входа
 | ||
|       тускнеет. Привязки меню по умолчанию блокируют активизацию и
 | ||
|       выполнение команды для отключенного входа. Отключенный вход
 | ||
|       может быть снова подключен, после чего его вновь можно
 | ||
|       активизировать и выполнять соответствующую команду.</p>
 | ||
| 
 | ||
|     <p>При изменении активного входа в меню в нем происходит
 | ||
|       виртуальное событие
 | ||
|       <<<strong>MenuSelect</strong>>>. В результате из
 | ||
|       меню можно запросить активный вход и предпринять какие-либо
 | ||
|       действия (например, вывести соответствующую контекстно-зависимую
 | ||
|       подсказку).</p>
 | ||
| 
 | ||
|     <h2><a name=КОМАНДНЫЕ_ВХОДЫ></a>КОМАНДНЫЕ ВХОДЫ</h2>
 | ||
| 
 | ||
|     <p>Наиболее распространенным типом входа в меню является командный
 | ||
|       вход, который ведет себя подобно примитиву кнопки. При запуске
 | ||
|       командного входа выполняется команда Tcl, заданная параметром
 | ||
|       <strong>-command</strong>.</p>
 | ||
| 
 | ||
|     <h2><a name=ВХОДЫРАЗДЕЛИТЕЛИ></a>ВХОДЫ-РАЗДЕЛИТЕЛИ</h2>
 | ||
| 
 | ||
|     <p>Разделитель представляет собой вход, предназначенный для вывода
 | ||
|       горизонтальной разделительной черты. Разделитель нельзя сделать
 | ||
|       активным или выполнить, никакого поведения разделителя,
 | ||
|       отличного от вывода черты не предусмотрено.</p>
 | ||
| 
 | ||
|     <h2><a name=ЗАЩЕЛКИВАЮЩИЕСЯ_ВХОДЫ></a>ЗАЩЕЛКИВАЮЩИЕСЯ ВХОДЫ</h2>
 | ||
| 
 | ||
|     <p>Защелкивающийся вход ведет себя подобно защелкивающейся
 | ||
|       кнопке. При щелчке на таком входе происходит переключение из
 | ||
|       выделенного состояния в невыделенное и обратно. В выделенном
 | ||
|       состоянии в некоторую глобальную переменную (указанную
 | ||
|       параметром <strong>-variable</strong>) заносится значение,
 | ||
|       фиксированное параметром <strong>-onvalue</strong>; при отмене
 | ||
|       выделения в эту глобальную переменную заносится другое значение,
 | ||
|       фиксированное параметром <strong>-offvalue</strong>. Слева от
 | ||
|       метки защелкивающегося входа изображается
 | ||
|       квадратик-индикатор. Если вход выделен, то центральная часть
 | ||
|       индикатора окрашивается в цвет, указанный параметром
 | ||
|       <strong>-selectcolor</strong> для входа; в противном случае цвет
 | ||
|       индикатора совпадает с цветом фона меню. Если для данного входа
 | ||
|       задано значение параметра <strong>-command</strong>, то это
 | ||
|       значение интерпретируется как команда Tcl всякий раз при
 | ||
|       выделении входа.</p>
 | ||
| 
 | ||
|     <h2><a name=ВХОДЫПЕРЕКЛЮЧАТЕЛИ></a>ВХОДЫ-ПЕРЕКЛЮЧАТЕЛИ</h2>
 | ||
| 
 | ||
|     <p>Вход-переключатель ведет себя подобно примитиву
 | ||
|       переключателя. Входы переключателя разбиты на группы, причем в
 | ||
|       каждой группе выделенным может оказаться только один вход. При
 | ||
|       выделении конкретного входа в некоторую глобальную переменную
 | ||
|       (указанную параметром <strong>-variable</strong>) заносится
 | ||
|       значение, фиксированное параметром <strong>-value</strong>. В
 | ||
|       результате этого действия автоматически отменяется предыдущее
 | ||
|       выделение в той же группе. Любое изменение значения переменной,
 | ||
|       связанной с входом, автоматически приводит к отмене
 | ||
|       существующего выделения. Разбиение входов-переключателей на
 | ||
|       группы задается значениями связанных с ними переменных: два
 | ||
|       входа с одинаковыми значениями переменной принадлежат одной
 | ||
|       группе. Слева от метки входа-переключателя изображается ромб
 | ||
|       индикатора. Если вход выделен, то центральная часть индикатора
 | ||
|       окрашивается в цвет, указанный параметром
 | ||
|       <strong>-selectcolor</strong> для входа; в противном случае цвет
 | ||
|       индикатора совпадает с цветом фона меню. Если для данного входа
 | ||
|       задано значение параметра <strong>-command</strong>, то это
 | ||
|       значение интерпретируется как команда Tcl всякий раз при
 | ||
|       выделении входа.</p>
 | ||
| 
 | ||
|     <h2><a name=КАСКАДНЫЕ_ВХОДЫ></a>КАСКАДНЫЕ ВХОДЫ</h2>
 | ||
| 
 | ||
|     <p>Каскадному входу отвечает новое меню (заданное параметром
 | ||
|       <strong>-menu</strong>). Каскадные входы позволяют строить
 | ||
|       ниспадающие меню. Команда примитива <strong>postcascade</strong>
 | ||
|       позволяет изобразить ассоциированное меню непосредственно рядом
 | ||
|       с каскадным входом или удалить выведенное меню. Для обеспечения
 | ||
|       корректности переключения меню необходимо, чтобы меню,
 | ||
|       ассоциированное с входом, было непосредственным потомком того
 | ||
|       меню, элементом которого данный вход является.</p>
 | ||
| 
 | ||
|     <p>Каскадный вход выводит ассоциированное меню с помощью команды
 | ||
|       Tcl вида:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><em>меню</em> <strong>post</strong> <em>x y</em><br></dt>
 | ||
| 
 | ||
|       <dd>где <em>меню</em> представляет собой имя пути
 | ||
| 	ассоциированного меню, а <em>x</em> и <em>y</em> это
 | ||
| 	координаты верхнего правого угла окна каскадного входа
 | ||
| 	относительно корневого окна. В системе Unix меню нижнего
 | ||
| 	уровня стирается с помощью команды Tcl.</dd>
 | ||
| 
 | ||
|       <dt><em>меню</em> <strong>unpost</strong></dt>
 | ||
| 
 | ||
|       <dd>где <em>меню</em> представляет собой имя пути
 | ||
| 	ассоциированного меню. На других платформах стирание меню
 | ||
| 	осуществляется их собственными средствами.</dd>
 | ||
|     </dl>
 | ||
| 
 | ||
|     <p>Если для данного входа задано значение параметра
 | ||
|       <strong>-command</strong>, то это значение интерпретируется как
 | ||
|       команда Tcl всякий раз при выделении входа. В системе Windows
 | ||
|       данная возможность не поддерживается.</p>
 | ||
| 
 | ||
|     <h2><a name=ВХОДЫ_КЛЮЧИ_ОТРЫВА></a>ВХОДЫ КЛЮЧИ ОТРЫВА</h2>
 | ||
| 
 | ||
|     <p>Ключ отрыва появляется в верхней части меню, если параметр
 | ||
|       <strong>tearOff</strong> имеет значение истина. В отличие от
 | ||
|       входов других типов его нельзя создать командой примитива
 | ||
|       <strong>add</strong> или удалить командой примитива
 | ||
|       <strong>delete</strong>. При создании ключа отрыва он
 | ||
|       изображается в виде пунктирной горизонтальной черты в верхней
 | ||
|       части окна. Привязки по умолчанию создают при щелчке на ключе
 | ||
|       отрыва оторванную копию меню и всех подчиненных ему меню.</p>
 | ||
| 
 | ||
|     <h2><a name=ЛИНЕЙКА_МЕНЮ></a>ЛИНЕЙКА МЕНЮ</h2>
 | ||
| 
 | ||
|     <p>Любое меню можно использовать в качестве полосы меню для окна
 | ||
|       верхнего уровня (синтаксис см. в описании команды
 | ||
|       <strong>toplevel</strong> ). В системе Macintosh каскадные
 | ||
|       элементы меню появляются в полосе меню в верхней части окна, как
 | ||
|       только соответствующее окно верхнего уровня оказывается поверх
 | ||
|       остальных окон. В системах Windows и Unix эти элементы меню
 | ||
|       изображаются в полосе меню в верхней части окна. Поведение меню
 | ||
|       определяется особенностями интерфейса каждой из платформ. Для
 | ||
|       каждого меню, используемого в качестве полосы меню, создается
 | ||
|       его копия (clone menu). Подробное описание приведено ниже (см.
 | ||
|       "<a href=menu.html#КЛОНЫ>Клоны</a>").</p>
 | ||
| 
 | ||
|     <h2><a name=СПЕЦИАЛЬНЫЕ_МЕНЮ_В_ЛИНЕЙКЕ></a>СПЕЦИАЛЬНЫЕ МЕНЮ В ЛИНЕЙКЕ</h2>
 | ||
| 
 | ||
|     <p>Некоторые меню в полосе меню будут обрабатываться особым
 | ||
|       образом. В системе Macintosh обеспечен доступ к специальным меню
 | ||
|       Apple и Help. В каждом окне системы Windows обеспечен доступ к
 | ||
|       меню Windows System. В системе X Windows предоставляется
 | ||
|       специальное меню подсказки, выравненное вправо. Во всех случаях
 | ||
|       эти меню создаются посредством команды, имя которой состоит из
 | ||
|       имени команды меню в полосе меню, к которому приписывается имя
 | ||
|       специального меню. Так, для полосы меню с именем .menubar на
 | ||
|       Macintosh именами специальных меню будут
 | ||
|       <strong>.menubar.apple</strong> и
 | ||
|       <strong>.menubar.help</strong>; в Windows
 | ||
|       <strong>.menubar.system</strong>; в X Windows именем меню
 | ||
|       подсказки будет <strong>.menubar.help</strong>.</p>
 | ||
| 
 | ||
|     <p>Встречая меню Apple в системе Macintosh, Tk выводит его первые
 | ||
|       элементы на экран всякий раз, когда окно, содержащее полосу меню
 | ||
|       оказывается поверх остальных окон. Это меню является первым,
 | ||
|       которое видит пользователь, а его заголовком служит логотип
 | ||
|       Apple. После всех Tk-определенных элементов следует разделитель,
 | ||
|       за которым идут все элементы из папки пользователя Apple Menu
 | ||
|       Items. Так как используемая System процедура определения меню
 | ||
|       отлична от используемой в Tk и API системы не поддерживают всех
 | ||
|       возможностей меню Tk, в заголовке меню выводится только текст
 | ||
|       заголовка. Никаких дополнительных сведений, изображений,
 | ||
|       двуцветных изображений или цветов не выводится. Кроме того, ключ
 | ||
|       отрыва имеет вид "TearOff".</p>
 | ||
| 
 | ||
|     <p>Встречая меню Help в системе Macintosh, Tk добавляет содержимое
 | ||
|       этого меню к стандартному меню подсказки в правой части
 | ||
|       пользовательской полосы меню всякий раз, когда пользовательская
 | ||
|       полоса меню оказывается поверх остальных окон. Первые элементы
 | ||
|       меню берутся из Apple. Аналогично меню Apple возможности вывода
 | ||
|       элементов меню ограничены системой.</p>
 | ||
| 
 | ||
|     <p>Встречая меню System в системе Windows, Tk добавляет содержимое
 | ||
|       этого меню к системному меню, к которому привязана данная полоса
 | ||
|       меню. В этом меню имеется картинка, изображающая клавишу
 | ||
|       пробела; ее можно запустить с помощью "Мыши" или нажав
 | ||
|       клавиши <strong>Alt+Spacebar</strong>. Ограничения Windows API
 | ||
|       не позволяют вывести в системном меню различные шрифты, цвета,
 | ||
|       изображения или двуцветные изображения, а также ключи
 | ||
|       отрыва.</p>
 | ||
| 
 | ||
|     <p>Встречая меню Help в системе X Windows, Tk делает его последним
 | ||
|       в полосе меню и выравнивает по правому краю.</p>
 | ||
| 
 | ||
|     <h2><a name=КЛОНЫ></a>КЛОНЫ</h2>
 | ||
| 
 | ||
|     <p>При использовании меню в качестве полосы меню в окне верхнего
 | ||
|       уровня, а также при отрыве меню создается его копия. Копия сама
 | ||
|       является примитивом меню, но она непосредственный потомок
 | ||
|       исходного меню. Изменения конфигурации исходного меню
 | ||
|       распространяются и на копию. Кроме того, все каскады, на которые
 | ||
|       есть указатели, также копируются, что обеспечивает корректное
 | ||
|       переключение меню. Копии уничтожаются, если удаляется ключ
 | ||
|       отрыва или полоса меню, а также при уничтожении оригинала.</p>
 | ||
| 
 | ||
|     <h2><a name=КОМАНДА_ПРИМИТИВА></a>КОМАНДА ПРИМИТИВА</h2>
 | ||
| 
 | ||
|     <p>Команда <strong>menu</strong> создает новую команду Tcl с
 | ||
|       именем <em>имяПути</em>. С помощью этой команды можно выполнять
 | ||
|       различные операции над примитивом. Ее общий вид:</p>
 | ||
| 
 | ||
|     <pre>
 | ||
|       имяПути параметр ?арг арг ...?
 | ||
|     </pre>
 | ||
| 
 | ||
|     <p><em>Параметр</em> и <em>арг</em>ументы уточняют поведение команды.</p>
 | ||
| 
 | ||
|     <p>Одним из аргументов многих команд примитива меню служит
 | ||
|       указатель входа в меню, над которым следует произвести данную
 | ||
|       операцию. Такие указатели называются <em>индекс</em>ами; они
 | ||
|       могут иметь один из следующих видов:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><em>число</em></dt>
 | ||
| 
 | ||
|       <dd>Задает номер входа. Самый верхний вход имеет номер 0,
 | ||
| 	следующий за ним номер 1 и т.д.</dd>
 | ||
| 
 | ||
|       <dt> <strong>active</strong> </dt>
 | ||
| 
 | ||
|       <dd>Задает вход, который активен в настоящий момент. Если
 | ||
| 	активного входа нет, то это значение параметра эквивалентно
 | ||
| 	значению <strong>none</strong>. Слово <strong>active</strong>
 | ||
| 	нельзя сокращать.</dd>
 | ||
| 
 | ||
|       <dt> <strong>end</strong></dt>
 | ||
| 
 | ||
|       <dd>Указывает самый нижний вход в меню. Если в меню нет ни
 | ||
| 	одного входа, то это значение параметра эквивалентно значению
 | ||
| 	<strong>none</strong>. Слово <strong>end</strong> нельзя
 | ||
| 	сокращать.</dd>
 | ||
| 
 | ||
|       <dt> <strong>last</strong></dt>
 | ||
| 
 | ||
|       <dd> Совпадает с <strong>end</strong>.</dd>
 | ||
| 
 | ||
|       <dt> <strong>none</strong> </dt>
 | ||
| 
 | ||
|       <dd>Указывает на "никакой" вход. Чаще всего
 | ||
| 	используется совместно с параметром <strong>activate</strong>
 | ||
| 	для дезактивации всех активных входов в меню. Слово
 | ||
| 	<strong>none</strong> нельзя сокращать.</dd>
 | ||
| 
 | ||
|       <dt> @<em>число</em></dt>
 | ||
| 
 | ||
|       <dd>В этом случае <em>число</em> интерпретируется как значение
 | ||
| 	y-координаты в окне меню; указывает на вход, ближайший к
 | ||
| 	данной y-координате. Так, например,
 | ||
| 	"<strong>@0</strong>" указывает на самый верхний
 | ||
| 	вход в окне.</dd>
 | ||
| 
 | ||
|       <dt> <em>образец</em> </dt>
 | ||
| 
 | ||
|       <dd>Если индекс не подходит ни под один из указанных видов, то
 | ||
| 	используется поиск индекса по образцу. Сравнение метки входа с
 | ||
| 	<em>образцом</em> выполняется последовательно сверху вниз,
 | ||
| 	пока не встретится подходящая метка. При сравнении
 | ||
| 	используются правила <strong>Tcl_StringMatch</strong>.</dd>
 | ||
|     </dl>
 | ||
| 
 | ||
|     <p>Примитивы меню допускают следующие команды:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><em>имяПути</em> <strong>activate</strong> <em>индекс</em></dt>
 | ||
| 
 | ||
|       <dd>Делает активным вход, указанный параметром <em>индекс</em> и
 | ||
| 	соответственно меняет вид строки входа на экране. Всякий вход,
 | ||
| 	бывший активным в момент выполнения команды,
 | ||
| 	деактивизируется. Если <em>индекс</em> имеет
 | ||
| 	значение<strong>none</strong> или если указанный этим
 | ||
| 	параметром вход отключен, то по окончании работы команды в
 | ||
| 	меню не будет активных входов. Возвращает пустую строку.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>add</strong> <em>тип</em>
 | ||
| 	  ?<em>параметр значение параметр значение</em>?</dt>
 | ||
| 
 | ||
|       <dd><p>Добавляет новый вход на верхушку меню. Аргумент
 | ||
| 	<em>тип</em> задает вид нового входа; <em>он</em> может
 | ||
| 	принимать значения <strong>cascade</strong>,
 | ||
| 	<strong>checkbutton</strong>, <strong>command</strong>,
 | ||
| 	<strong>radiobutton</strong> (эти значения допускают
 | ||
| 	однозначные сокращения). Дополнительные аргументы могут
 | ||
| 	задавать значения следующих параметров:</p>
 | ||
| 
 | ||
| 	<dl>
 | ||
| 	  <dt><strong>-activebackground</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает цвет фона для вывода данного входа в активном
 | ||
| 	    состоянии. Если <em>значением</em> служит пустая строка
 | ||
| 	    (как, например, по умолчанию), то в качестве цвета фона
 | ||
| 	    берется значение параметра
 | ||
| 	    <strong>activeBackground</strong> для всего меню. Если
 | ||
| 	    значение переменной <strong>tk_strictMotif</strong>
 | ||
| 	    требует проверки согласования со стандартом Motif, то
 | ||
| 	    значение данного параметра игнорируется и вместо него
 | ||
| 	    используется значение параметра
 | ||
| 	    <strong>-background</strong>. Для входа-разделителя и
 | ||
| 	    ключа отрыва данный параметр недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt><strong>-activeforeground</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает цвет переднего плана для вывода данного входа в
 | ||
| 	    активном состоянии. Если <em>значением</em> служит пустая
 | ||
| 	    строка (как, например, по умолчанию), то в качестве цвета
 | ||
| 	    фона берется значение параметра
 | ||
| 	    <strong>activeForeground</strong> для всего меню.Для
 | ||
| 	    входа-разделителя и ключа отрыва данный параметр
 | ||
| 	    недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-accelerator</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает строку, которую следует выводить в правой части
 | ||
| 	    входа. Обычно описывает комбинацию клавиш, на
 | ||
| 	    которые следует нажать, чтобы выполнить те же действия,
 | ||
| 	    что и при обращении к данному входу. Для входа-разделителя
 | ||
| 	    и ключа отрыва данный параметр недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-background</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Задает цвет фона для вывода данного входа в нормальном
 | ||
| 	    (не активном и не отключенном) состоянии. Если
 | ||
| 	    <em>значением</em> служит пустая строка (как, например, по
 | ||
| 	    умолчанию), то в качестве цвета фона берется значение
 | ||
| 	    параметра <strong>background</strong> для всего меню. Для
 | ||
| 	    входа-разделителя и ключа отрыва данный параметр
 | ||
| 	    недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-bitmap</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает двуцветное изображение, выводимое в меню вместо
 | ||
| 	    текстовой метки. Может принимать любое значение,
 | ||
| 	    воспринимаемое командой
 | ||
| 	    <strong>Tk_GetBitmap</strong>. Данный параметр подавляет
 | ||
| 	    параметр <strong>-label</strong>, однако если его
 | ||
| 	    значением является пустая строка, то в окне выводится
 | ||
| 	    текстовая метка. Параметр <strong>-image</strong>, если он
 | ||
| 	    задан, подавляет параметр <strong>-bitmap</strong>. Для
 | ||
| 	    входа-разделителя и ключа отрыва данный параметр
 | ||
| 	    недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-columnbreak</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Если <em>значение</em> параметра равно "0", то новый
 | ||
| 	    вход выводится после предыдущего входа. Если значение
 | ||
| 	    равно "1", то новый вход выводится вверху нового столбца
 | ||
| 	    меню.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-command</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает команду Tcl, которую следует выполнить при вызове
 | ||
| 	    данного входа. Для входа-разделителя и ключа отрыва данный
 | ||
| 	    параметр недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-font</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает шрифт, используемый при выводе метки входа и
 | ||
| 	    строки горячих клавиш. Если значением параметра является
 | ||
| 	    пустая строка (как, например, по умолчанию), то
 | ||
| 	    используется значение параметра <strong>font</strong>для
 | ||
| 	    всего меню. Для входа-разделителя и ключа отрыва данный
 | ||
| 	    параметр недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-foreground</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает цвет переднего плана для вывода данного входа в
 | ||
| 	    нормальном (не активном и не отключенном) состоянии. Если
 | ||
| 	    <em>значением</em> служит пустая строка (как, например, по
 | ||
| 	    умолчанию), то в качестве цвета фона берется значение
 | ||
| 	    параметра <strong>foreground</strong> для всего меню. Для
 | ||
| 	    входа-разделителя и ключа отрыва данный параметр
 | ||
| 	    недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-hidemargin</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Указывает, следует ли при выводе данного входа выводить
 | ||
| 	    стандартные боковые поля. Такая возможность полезна при
 | ||
| 	    создании различных палитр с картинками (цветовые палитры,
 | ||
| 	    палитры образцов и т.д.). <em>Значение</em> "1"
 | ||
| 	    указывает на то, что поля должны быть спрятаны, при
 | ||
| 	    нулевом значении параметра они используются.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-image</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Задает изображение, выводимое в меню вместо текстовой
 | ||
| 	    метки или двуцветного изображения. Изображение должно быть
 | ||
| 	    создано ранее командой <strong>image create</strong>.
 | ||
| 	    Данный параметр подавляет параметры
 | ||
| 	    <strong>-label</strong>, и <strong>-bitmap</strong>,
 | ||
| 	    однако если его значением является пустая строка, то в
 | ||
| 	    окне выводится текстовая метка или двуцветное
 | ||
| 	    изображение. Для входа-разделителя и ключа отрыва данный
 | ||
| 	    параметр недоступен.</dd>
 | ||
| 
 | ||
| 
 | ||
| 	  <dt> <strong>-indicatoron</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Доступно только для защелкивающихся входов и
 | ||
| 	    входов-переключателей. <em>Значение</em> является
 | ||
| 	    булевским и указывает, следует или нет выводить индикатор
 | ||
| 	    входа.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-label</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Задает текстовую строку, которая служит
 | ||
| 	    меткой-идентификатором входа. Для входа-разделителя и
 | ||
| 	    ключа отрыва данный параметр недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-menu</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Данный параметр доступен только для каскадных
 | ||
| 	    входов. Задает имя пути подменю, ассоциированного с данным
 | ||
| 	    входом. Подменю должно быть непосредственным потомком
 | ||
| 	    данного меню.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-offvalue</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Доступен только для защелкивающихся входов. Задает
 | ||
| 	    значение, которое следует записать в переменную входа при
 | ||
| 	    отмене его выделения.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-onvalue</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Доступен только для защелкивающихся входов. Задает
 | ||
| 	    значение, которое следует записать в переменную входа при
 | ||
| 	    его выделении.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-selectcolor</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Доступен только для защелкивающихся входов и
 | ||
| 	    входов-переключателей. Задает <em>значение</em>, которое
 | ||
| 	    следует записать в переменную входа при его
 | ||
| 	    выделении.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-selectimage</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Доступен только для защелкивающихся входов и
 | ||
| 	    входов-переключателей. Задает изображение, которое следует
 | ||
| 	    выводить в поле входа при его выделении (замещает параметр
 | ||
| 	    <strong>-image)</strong>. Изображение должно быть создано
 | ||
| 	    ранее командой<strong>image create</strong>. Если параметр
 | ||
| 	    <strong>-image</strong> не задан, то данный параметр
 | ||
| 	    игнорируется.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-state</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Задает одно из трех состояний входа:
 | ||
| 	    <strong>normal</strong>, <strong>active</strong> или
 | ||
| 	    <strong>disabled</strong>. В нормальном состоянии при
 | ||
| 	    выводе входа используются значения параметров
 | ||
| 	    <strong>foreground</strong> для всего меню и
 | ||
| 	    <strong>background</strong> для входа или для всего
 | ||
| 	    меню. Обычно вход становится активным при попадании на
 | ||
| 	    него курсора. В активном состоянии при выводе входа
 | ||
| 	    используются значения параметров
 | ||
| 	    <strong>activeForeground</strong> для всего меню и
 | ||
| 	    <strong>activebackground</strong> для входа. В отключенном
 | ||
| 	    (<strong>disabled</strong>) состоянии вход становится
 | ||
| 	    безответным: привязки по умолчанию не позволяют
 | ||
| 	    активизировать его или вызвать соответствующую ему команду
 | ||
| 	    Tcl. При выводе входа в этом случае используются значения
 | ||
| 	    параметров <strong>disabledForeground</strong> для всего
 | ||
| 	    меню и <strong>background</strong> для входа. Для
 | ||
| 	    входа-разделителя данный параметр недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-underline</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Задает целочисленный индекс символа в метке, который
 | ||
| 	    следует подчеркнуть. Значение этого индекса используется,
 | ||
| 	    в том числе, привязками по умолчанию для осуществления
 | ||
| 	    переключения с помощью клавиатуры. Значение "0"
 | ||
| 	    указывает на первый символ в строке, "1" на
 | ||
| 	    второй и т.д. Если в поле входа выводится изображение или
 | ||
| 	    двуцветное изображение, то данный параметр
 | ||
| 	    игнорируется. Для входа-разделителя и ключа отрыва данный
 | ||
| 	    параметр недоступен.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-value</strong> <em>значение</em> </dt>
 | ||
| 
 | ||
| 	  <dd>Доступен только для входа-переключателя. Задает
 | ||
| 	    значение, которое следует записать в переменную входа при
 | ||
| 	    его выделении. Если <em>значением</em> параметра является
 | ||
| 	    пустая строка, то в переменную заносится значение
 | ||
| 	    параметра <strong>-label</strong>.</dd>
 | ||
| 
 | ||
| 	  <dt> <strong>-variable</strong> <em>значение</em></dt>
 | ||
| 
 | ||
| 	  <dd>Доступен только для защелкивающегося входа и
 | ||
| 	    входа-переключателя. Задает имя глобальной переменной,
 | ||
| 	    которую следует установить при выделении входа. Для
 | ||
| 	    защелкивающегося входа значение переменной устанавливается
 | ||
| 	    также при отмене его выделения. Для входа-переключателя
 | ||
| 	    изменение значения переменной приводит к отмене текущего
 | ||
| 	    выделения.</dd>
 | ||
| 	</dl>
 | ||
| 
 | ||
| 	<p>Команда примитива <strong>add</strong> возвращает
 | ||
| 	  пустую строку.</p>
 | ||
|       </dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>cget</strong> <em>параметр</em></dt>
 | ||
| 
 | ||
|       <dd>Возвращает текущее значение параметра конфигурации с именем
 | ||
| 	<em>параметр</em>. <em>Параметр</em>может быть любым из
 | ||
| 	параметров команды <strong>menu</strong>.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>clone</strong> <em>новоеИмяПути</em>
 | ||
| 	?<em>типКопии</em>?</dt>
 | ||
| 
 | ||
|       <dd>Создает копию текущего меню с именем
 | ||
| 	<em>новоеИмяПути</em>. Копия является отдельным
 | ||
| 	самостоятельным меню, однако любые изменения в ней приводят к
 | ||
| 	таким же изменениям оригинала и наоборот. Аргумент
 | ||
| 	<em>типКопии</em> может принимать значения <strong>normal</strong>,
 | ||
| 	<strong>menubar</strong> и <strong>tearoff</strong>. Команду не
 | ||
| 	следует исполнять вне библиотеки Tk. Подробную информацию
 | ||
| 	см. "<a href=#КЛОНЫ>Клоны</a>".</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> может быть любым
 | ||
| 	из параметров команды <strong>menu</strong>.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>delete</strong> <em>индекс1</em>
 | ||
| 	?<em>индекс2</em>?</dt>
 | ||
| 
 | ||
|       <dd>Удаляет все входы между входами, указанными аргументами
 | ||
| 	<em>индекс1</em> и <em>индекс2</em>, включая оба эти входа. Ключи
 | ||
| 	отрыва при этом не удаляются для их удаления следует поменять
 | ||
| 	значение параметра <strong>tearOff</strong>.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>entrycget</strong> <em>индекс
 | ||
| 	  параметр</em></dt>
 | ||
| 
 | ||
|       <dd>Возвращает текущее значение параметра конфигурации для
 | ||
| 	входа, заданного аргументом
 | ||
| 	<em>индекс</em>. <em>Параметр</em>может принимать любые
 | ||
| 	значения, воспринимаемые командой примитива
 | ||
| 	<strong>add</strong>.</dd>
 | ||
| 
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>entryconfigure</strong>
 | ||
| 	<em>индекс</em> ?<em>параметры</em>?</dt>
 | ||
| 
 | ||
|       <dd>Команда аналогична команде <strong>configure</strong>;
 | ||
| 	отличие состоит в том, что она относится к параметрам
 | ||
| 	отдельного входа, тогда как команда <strong>configure</strong>
 | ||
| 	применима к параметрам меню в целом. <em>Параметры</em> могут
 | ||
| 	принимать любые значения, воспринимаемые командой примитива
 | ||
| 	<strong>add</strong>. Если <em>параметры</em> заданы, то им
 | ||
| 	присваиваются вновь заданные и команда возвращает пустую
 | ||
| 	строку. Если <em>параметры</em> не заданы, то команда
 | ||
| 	возвращает список текущих значений всех параметров для каждого
 | ||
| 	из входов, указанных аргументом <em>индекс</em> (формат списка
 | ||
| 	приведен в <strong>Tk_ConfigureInfo</strong>).</dd>
 | ||
| 
 | ||
|       <dt> <em>имяПути</em> <strong>index</strong>
 | ||
| 	<em>индекс</em></dt>
 | ||
|       
 | ||
|       <dd>Команда возвращает числовое значение индекса, заданного
 | ||
| 	аргументом <em>индекс</em> или значение <strong>none</strong>,
 | ||
| 	если <em>значением</em> аргумента было
 | ||
| 	<strong>none</strong>.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>insert</strong> <em>индекс тип</em>
 | ||
| 	?<em>параметр значение параметр значение</em>?</dt>
 | ||
| 
 | ||
|       <dd>Команда аналогична команде примитива <strong>add</strong>;
 | ||
| 	отличие состоит в том, что команда <strong>insert</strong>
 | ||
| 	вставляет новый вход непосредственно перед входом, на который
 | ||
| 	указывает аргумент <em>индекс</em>, а не в конец меню. Если в
 | ||
| 	меню есть ключ отрыва, то вставка входов перед ним
 | ||
| 	невозможна.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>invoke</strong> <em>индекс</em></dt>
 | ||
| 
 | ||
|       <dd>Выполняет действие, ассоциированное с данным входом
 | ||
| 	меню. Подробное описание выполняемых действий приведено выше
 | ||
| 	при описании конкретных типов входов. Если с данным входом
 | ||
| 	ассоциирована какая-нибудь команда Tcl, то команда
 | ||
| 	<strong>invoke</strong> возвращает результат выполнения этой
 | ||
| 	команды Tcl. В противном случае результатом служит пустая
 | ||
| 	строка. Замечание: при исполнении данной команды меню не
 | ||
| 	пропадает автоматически это результат действия привязок по
 | ||
| 	умолчанию перед исполнением команды
 | ||
| 	<strong>invoke</strong>.</dd>
 | ||
| 
 | ||
|       <dt> <em>имяПути</em> <strong>post</strong> <em>x y</em> </dt>
 | ||
| 
 | ||
|       <dd>Обеспечивает вывод меню на экран в месте с координатами
 | ||
| 	<em>x</em> и <em>y</em> относительно корневого окна. При
 | ||
| 	необходимости эти координаты корректируются так, чтобы меню на
 | ||
| 	экране было видно. Обычно команда возвращает пустую
 | ||
| 	строку. Если задан параметр <strong>postCommand</strong>, то
 | ||
| 	его значение интерпретируется как Tcl скрипт, который и
 | ||
| 	исполняется перед выполнением команды <strong>post</strong>; в
 | ||
| 	этом случае команда примитива <strong>post</strong> возвращает
 | ||
| 	результат данного скрипта Tcl. Если при выполнении скрипта
 | ||
| 	возникла ошибка, то <strong>post</strong> возвращает сообщение
 | ||
| 	об этой ошибке и меню не выводится.</dd>
 | ||
| 
 | ||
|       <dt> <em>имяПути</em> <strong>postcascade</strong>
 | ||
| 	<em>индекс</em> </dt>
 | ||
| 
 | ||
|       <dd>Выводит подменю, вызываемое каскадным входом, указанным
 | ||
| 	аргументом <em>индекс</em>, и стирает ранее выведенное
 | ||
| 	подменю. Если аргумент <em>индекс</em> не указывает на
 | ||
| 	каскадный вход или если меню с именем <em>имяПути</em> не
 | ||
| 	выведено, то команда<strong>postcascade</strong> не производит
 | ||
| 	никаких действий за исключением стирания ранее выведенных
 | ||
| 	подменю.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>type</strong> <em>индекс</em></dt>
 | ||
| 
 | ||
|       <dd>Возвращает тип входа, указанного аргументом <em>индекс.</em>
 | ||
| 	Этот тип задается аргументом <em>тип</em> при создании входа
 | ||
| 	командой примитива <strong>add</strong> (например,
 | ||
| 	<strong>command</strong>, <strong>separator</strong> или
 | ||
| 	<strong>tearoff</strong> для ключа отрыва).</dd>
 | ||
| 
 | ||
|       <dt> <em>имяПути</em> <strong>unpost</strong> </dt>
 | ||
| 
 | ||
|       <dd>Стирает окно с экрана. Если было выведено каскадное меню
 | ||
| 	нижнего уровня, то стирает это меню. Возвращает пустую
 | ||
| 	строку. На платформах Windows и Macintosh эта команда не
 | ||
| 	работает, так как там имеются собственные системы управления
 | ||
| 	окнами.</dd>
 | ||
| 
 | ||
|       <dt> <em>имяПути</em> <strong>yposition</strong> <em>индекс</em>
 | ||
|       </dt>
 | ||
| 
 | ||
|       <dd>Возвращает десятичное значение y-координаты в окне меню
 | ||
| 	верхнего пиксела поля входа, заданного аргументом
 | ||
| 	<em>индекс</em>.</dd>
 | ||
|     </dl>
 | ||
|     
 | ||
|     <h2><a name=КОНФИГУРАЦИИ_МЕНЮ></a>КОНФИГУРАЦИИ МЕНЮ</h2>
 | ||
| 
 | ||
|     <p>Привязки по умолчанию обеспечивают четыре различных способа
 | ||
|       использования меню: </p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><strong>Ниспадающие меню в полосе меню</strong></dt>
 | ||
| 
 | ||
|       <dd>Наиболее часто встречающийся случай. Сначала создается
 | ||
| 	примитив меню, который станет полосой меню. Затем к этому меню
 | ||
| 	добавляются каскадные входы, описывающие нужные ниспадающие
 | ||
| 	меню. Затем создаются все ниспадающие меню. Когда все это
 | ||
| 	проделано, нужно задать значение параметра
 | ||
| 	<strong>-menu</strong> в команде примитива верхнего
 | ||
| 	уровня. Подробное описание <a
 | ||
| 	href=toplevel.html><strong>toplevel</strong></a>.</dd>
 | ||
| 
 | ||
|       <dt><strong>Ниспадающие меню в кнопках меню</strong></dt>
 | ||
| 
 | ||
|       <dd>Это альтернативный способ создания полосы меню. Сначала
 | ||
| 	создается примитив кнопки меню для каждого меню верхнего
 | ||
| 	уровня (обычно цепочка кнопок располагается последовательно в
 | ||
| 	полосе меню окна). Кроме того следует создать все меню
 | ||
| 	верхнего уровня и подчиненные им меню и связать их вместе с
 | ||
| 	помощью параметра <strong>-menu</strong> в кнопках меню и
 | ||
| 	каскадных входах меню. Меню верхнего уровня должно быть
 | ||
| 	непосредственным потомком кнопки меню, а каждое подменю должно
 | ||
| 	быть непосредственным потомком меню, которое на него
 | ||
| 	ссылается. После того, как это сделано, привязки по умолчанию
 | ||
| 	позволяют пользователю переходить от одного меню к другому и
 | ||
| 	обращаться к дереву меню через кнопку меню.</dd>
 | ||
| 
 | ||
|       <dt><strong>Всплывающие меню</strong></dt>
 | ||
|       
 | ||
|       <dd>Всплывающие меню обычно выводятся при нажатии кнопки
 | ||
| 	"Мыши" или клавиши на клавиатуре. Сначала создаются
 | ||
| 	всплывающие меню и все каскадные подменю, затем в нужный
 | ||
| 	момент времени следует вызвать процедуру
 | ||
| 	<strong>tk_popup</strong>, в результате чего будет выведено
 | ||
| 	меню верхнего уровня.</dd>
 | ||
| 
 | ||
|       <dt><strong>Меню-переключатели с кнопкой</strong></dt>
 | ||
| 
 | ||
|       <dd>Меню-переключатель состоит из кнопки и связанного с ней
 | ||
| 	меню, которое позволяет выбрать одну из нескольких
 | ||
| 	возможностей. Описатель выбранной возможности выводится в
 | ||
| 	кнопке и в глобальной переменной запоминается соответствующее
 | ||
| 	значение. Для создания меню-переключателей используется
 | ||
| 	процедура <strong>tk_optionMenu</strong>.</dd>
 | ||
| 
 | ||
|       <dt><strong>Отрывные меню</strong></dt>
 | ||
| 
 | ||
|       <dd>Отрывное меню создается при исполнении входа ключа отрыва в
 | ||
| 	верхней части имеющегося меню. Привязки по умолчанию создают
 | ||
| 	копию исходного меню и выводят ее в виде окна верхнего
 | ||
| 	уровня. Оторванное меню ведет себя точно так же, как и
 | ||
| 	исходное.</dd>
 | ||
|     </dl>
 | ||
| 
 | ||
|     <h2><a name=ПАРАМЕТРЫ_ПО_УМОЛЧАНИЮ></a>ПАРАМЕТРЫ ПО УМОЛЧАНИЮ</h2>
 | ||
| 
 | ||
|     <p>При создании меню Tk автоматически создает параметры класса,
 | ||
|       определяющие следующее поведение примитива по умолчанию: </p>
 | ||
| 
 | ||
|     <p>При попадании курсора "Мыши" в меню вход, на котором
 | ||
|       находится курсор, становится активным; при перемещении курсора
 | ||
|       по меню соответственно меняется и активный вход.</p>
 | ||
| 
 | ||
|     <p>Если курсор "Мыши" покидает меню, то все входы в нем
 | ||
|       деактивизируются за исключением случая, когда курсор
 | ||
|       перемещается в каскадное подменю.</p>
 | ||
| 
 | ||
|     <p>При отпускании клавиши "Мыши" на меню активный вход
 | ||
|       (если таковой имеется) исполняется. При этом меню стирается за
 | ||
|       исключением случая, когда это оторванное меню.</p>
 | ||
| 
 | ||
|     <p>Нажатие на клавиши <strong>Space</strong> или
 | ||
|       <strong>Return</strong> приводят к исполнению активного входа и
 | ||
|       стиранию меню.</p>
 | ||
| 
 | ||
|     <p>Если одна из букв в поле входа подчеркнута с помощью параметра
 | ||
|       <strong>-underline</strong>, то нажатие на эту букву (или ее
 | ||
|       эквивалент на верхнем или нижнем регистре) приводит к исполнению
 | ||
|       входа и стиранию меню.</p>
 | ||
| 
 | ||
|     <p>Нажатие на клавишу <strong>Escape</strong> приводит к отмене
 | ||
|       текущего выделения. Меню при этом стирается, если только это не
 | ||
|       оторванное меню.</p>
 | ||
| 
 | ||
|     <p>Нажатие на клавиши <strong>Up</strong> или
 | ||
|       <strong>Down</strong> приводит к активизации входа, примыкающего
 | ||
|       к текущему активному входу сверху или снизу. Если достигнут
 | ||
|       конец меню, то происходит перескок на противоположный его
 | ||
|       конец.</p>
 | ||
| 
 | ||
|     <p>Нажатие на клавишу <strong>Left</strong> приводит к переходу на
 | ||
|       соседнее слева меню. Если текущее меню представляет собой
 | ||
|       каскадное подменю, то это каскадное подменю стирается и текущим
 | ||
|       входом в меню становится каскадный вход в его непосредственном
 | ||
|       предке. Если текущее меню представляет собой меню верхнего
 | ||
|       уровня, выведенное кнопкой меню, то текущая кнопка меню
 | ||
|       стирается и выводится соседняя слева кнопка меню. В остальных
 | ||
|       случаях нажатие на эту клавишу не приводит ни к какому
 | ||
|       результату. Порядок кнопок меню слева направо определяется их
 | ||
|       порядком в стеке: Tk считает нижнюю кнопку меню (первой попавшую
 | ||
|       в стек) самой левой.</p>
 | ||
| 
 | ||
|     <p>Нажатие на клавишу <strong>Right</strong> приводит к переходу
 | ||
|       на соседнее справа меню. Если текущим является каскадный вход,
 | ||
|       то выводится соответствующее каскадное подменю и текущий вход
 | ||
|       становится первым в этом подменю. В противном случае, если
 | ||
|       текущее меню было выведено кнопкой меню, то текущая кнопка меню
 | ||
|       стирается, а вместо нее выводится соседняя с ней справа кнопка
 | ||
|       меню.</p>
 | ||
| 
 | ||
|     <p>Отключенные входы меню остаются безответными: их нельзя сделать
 | ||
|       активными и они не реагируют на нажатие и отпускание клавиш
 | ||
|       "Мыши".</p>
 | ||
| 
 | ||
|     <p>Определяя новые привязки к отдельным примитивам или
 | ||
|       переопределяя привязки класса, поведение меню можно
 | ||
|       изменить.</p>
 | ||
| 
 | ||
|     <p>В настоящее время использование базы данных параметров для
 | ||
|       задания значений параметров входов не допускается.</p>
 | ||
| 
 | ||
|   </body>
 | ||
| </html>
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 |