projman/hlp/ru/tk/button.html

249 lines
15 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
2015-10-19 13:27:31 +03:00
<html>
<head>
<title>button</title>
</head>
<body>
<h1>button</h1>
<p>Создание примитива кнопки и управление им.</p>
2015-10-19 13:27:31 +03:00
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
2015-10-19 13:27:31 +03:00
<pre>
<strong>button</strong> <em>имяПути параметры</em>
2015-10-19 13:27:31 +03:00
</pre>
<h2><a name=СТАНДАРТНЫЕАРАМЕТРЫ></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>
2015-10-19 13:27:31 +03:00
<ul>
<li>-activebackground</li>
<li>-activeforeground</li>
<li>-anchor</li>
<li>-background</li>
<li>-bitmap</li>
<li>-borderwidth</li>
<li>-cursor</li>
<li>-disabledforeground</li>
<li>-font</li>
<li>-highlightbackground</li>
<li>-highlightcolor</li>
<li>-highlightthickness</li>
<li>-image</li>
<li>-justify</li>
<li>-padx</li>
<li>-pady</li>
<li>-relief</li>
<li>-takefocus</li>
<li>-text</li>
<li>-textvariable</li>
<li>-underline</li>
<li>-wraplength</li>
</ul>
<p>Подробное описание этих параметров приведено в разделе
<a href=options.html><strong>options</strong></a>.</p>
2015-10-19 13:27:31 +03:00
<h2><a name=ДОПОЛНИТЕЛЬНЫЕАРАМЕТРЫ></a>ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ</h2>
2015-10-19 13:27:31 +03:00
<table>
<tr><td>Имя параметра:</td><td><strong>-command</strong></td></tr>
<tr><td>Имя в Базе:</td><td><strong>command</strong></td></tr>
<tr><td>Класс в Базе:</td><td><strong>Command</strong></td></tr>
2015-10-19 13:27:31 +03:00
</table>
<p>Ассоциирует с кнопкой команду Tk. Обычно команда выполняется
при отпускании клавиши 1 &quot;Мыши&quot;.</p>
2015-10-19 13:27:31 +03:00
<table>
<tr><td>Имя параметра:</td><td><strong>-default</strong></td></tr>
<tr><td>Имя в Базе:</td><td><strong>default</strong></td></tr>
<tr><td>Класс в Базе:</td><td><strong>Default</strong></td></tr>
2015-10-19 13:27:31 +03:00
</table>
<p>Задает одно из трех состояний изображения ободка кнопки:
<strong>normal</strong>, <strong>active</strong> или
<strong>disabled</strong>. В активном состоянии кнопка имеет
изображение по умолчанию для данной платформы. В нормальном
состоянии кнопка изображается в виде, предусмотренном данной
платформой для кнопок не по умолчанию; при этом остается
достаточно места для изображения кнопки по умолчанию. Нормальное
и активное состояние приводят к появлению кнопок одинакового
размера. Отключенное состояние приводит к выводу кнопки не по
умолчанию, не оставляя при этом места для кнопки по умолчанию.
Кнопка в отключенном состоянии может быть меньше кнопки в
активном состоянии.</p>
2015-10-19 13:27:31 +03:00
<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>
2015-10-19 13:27:31 +03:00
</table>
<p>Задает желаемую высоту кнопки. Если в кнопке выводится
изображение или двуцветное изображение, то значение параметра
задается в пикселях (т.е., в любом виде, приемлемом для
<strong>Tk_GetPixels</strong>); высота текстовой кнопки задается числом
строчек текста. Если параметр не задан, то высота кнопки
вычисляется по ее содержимому.</p>
2015-10-19 13:27:31 +03:00
<table>
<tr><td>Имя параметра:</td><td><strong>-state</strong></td></tr>
<tr><td>Имя в Базе:</td><td><strong>state</strong></td></tr>
<tr><td>Класс в Базе:</td><td><strong>State</strong></td></tr>
2015-10-19 13:27:31 +03:00
</table>
<p>Задает одно из трех состояний кнопки: <strong>normal</strong>,
<strong>active</strong> или <strong>disabled</strong>. В
нормальном состоянии кнопка изображается с использованием
значений параметров <strong>foreground</strong> и
<strong>background</strong>. В активном состоянии кнопка обычно
находится, если на ней расположен курсор. Кнопка в активном
состоянии изображается с использованием значений параметров
<strong>activeForeground</strong> и
<strong>activeBackground</strong>. Отключенное состояние
указывает на то, что кнопка должна быть нечувствительной:
привязки по умолчанию не приводят к запуску примитива и нажатия
на кнопку &quot;Мыши&quot; игнорируются. В этом состоянии
изображение кнопки определяется значениями параметров
<strong>disabledForeground</strong> и
2015-10-19 13:27:31 +03:00
<strong>background</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>
2015-10-19 13:27:31 +03:00
</table>
<p>Задает желаемую ширину кнопки. Если в кнопке выводится
изображение или двуцветное изображение, то значение параметра
задается в пикселях (т.е., в любом виде, приемлемом для
<strong>Tk_GetPixels</strong>); ширина текстовой кнопки задается
числом символов. Если параметр не задан, то ширина кнопки
вычисляется по ее содержимому.</p>
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
<p>Команда <strong>button</strong> создает новое окно (задаваемое
аргументом <em>имяПути</em>) и превращает его в примитив кнопки.
Детали изображения кнопки, такие, как ее цвета, шрифт, текст и
объемный вид задаются с помощью описанных выше дополнительных
параметров. Команда <strong>button</strong> возвращает аргумент
<em>имяПути</em>. В момент выполнения этой команды не должно
существовать окна с именем <em>имяПути</em>, но должен
существовать его предок.</p>
<p>Кнопка представляет собой примитив, в котором выводится
текстовая строка, изображение или двуцветное изображение. Весь
выводимый текст должен быть записан одним шрифтом, однако он
может занимать несколько строчек на экране (если в нем есть
символы перевода строки или задан параметр
<strong>wrapLength</strong>). Один из символов текста может
быть подчеркнут (в соответствии со значением параметра
<strong>underline</strong>). В зависимости от значения параметра
<strong>button</strong> кнопка имеет три разных вида; кнопка
может выглядеть выпуклой, вдавленной или плоской, кроме того,
она может мигать. При инициации кнопки (нажатием на клавишу 1
&quot;Мыши&quot;, когда курсор &quot;Мыши&quot; находится на
кнопке) выполняется команда Tcl, указанная в параметре
2015-10-19 13:27:31 +03:00
<strong>-command</strong>.</p>
<h2><a name=КОМАНДАРИМИТИВА></a>КОМАНДА ПРИМИТИВА</h2>
2015-10-19 13:27:31 +03:00
<p>Команда <strong>button</strong> создает новую команду Tcl с
именем <em>имяПути</em>. С помощью этой команды можно выполнять
различные операции над примитивом. Ее общий вид.</p>
2015-10-19 13:27:31 +03:00
<pre>
<strong>имяПути</strong> <em>параметр арг арг</em> ...
2015-10-19 13:27:31 +03:00
</pre>
<p><em>Параметр</em> и <em>арг</em>ументы уточняют поведение команды.
Примитивы кнопки допускают следующие формы команды:</p>
2015-10-19 13:27:31 +03:00
<pre>
<em>имяПути</em> <strong>cget</strong> <em>параметр</em>
2015-10-19 13:27:31 +03:00
</pre>
<p>Возвращает текущее значение параметра конфигурации с именем
параметр. Параметр может быть любым из параметров команды
2015-10-19 13:27:31 +03:00
<strong>button</strong>.</p>
<pre>
<em>имяПути</em> <strong>configure</strong> <em>параметр значение параметр значение ...</em>
2015-10-19 13:27:31 +03:00
</pre>
<p>Запрашивает значения параметров конфигурации примитива или
изменяет их. Если параметр не указан, то возвращает список,
содержащий значения всех допустимых в <em>имениПути</em>
параметров (формат списка описан в
<strong>Tk_ConfigureInfo</strong>). Если <em>параметр</em>
задан, а его новое значение - нет, то команда возвращает часть
полного списка, относящуюся к указанному параметру. Если заданы
одна или несколько пар параметр-значение, то указанным
параметрам примитива присваиваются новые значения, а команда
возвращает пустую строку. <em>Параметр</em> может быть любым из
параметров команды <strong>button</strong>.</p>
2015-10-19 13:27:31 +03:00
<pre>
<em>имяПути</em> <strong>flash</strong>
2015-10-19 13:27:31 +03:00
</pre>
<p>Заставляет кнопку мигать. Этот эффект достигается путем
многократного вывода изображения кнопки поочередно в активном и
нормальном состоянии. По окончании работы команды кнопка
остается в том же состоянии (активном или нормальном), что и
перед началом ее выполнения. Если перед началом выполнения
команды кнопка находится в состоянии <strong>disabled</strong>,
то команда игнорируется.</p>
2015-10-19 13:27:31 +03:00
<pre>
<em>имяПути</em> <strong>invoke</strong>
2015-10-19 13:27:31 +03:00
</pre>
<p>Выполняет команду Tcl, ассоциированную с кнопкой (при наличии
такой команды). Возвращаемое значение совпадает с возвращаемым
значением команды Tcl (или является пустой строкой, если с
кнопкой никакой команды не ассоциировано). Если перед началом
выполнения команды кнопка находится в состоянии
<strong>disabled</strong>, то команда игнорируется.</p>
2015-10-19 13:27:31 +03:00
<p>При создании кнопки Tk, в соответствии с типом кнопки,
автоматически создает привязки к ней, определяющие ее поведение
по умолчанию:</p>
2015-10-19 13:27:31 +03:00
<p>Кнопка становится активной при появлении над ней курсора
&quot;Мыши&quot; и дезактивируется, когда курсор ее покидает. В
системе Windows привязка активизируется только при нажатии
клавиши &quot;1&quot; &quot;Мыши&quot; на кнопке.</p>
2015-10-19 13:27:31 +03:00
<p>При нажатии клавиши &quot;1&quot; &quot;Мыши&quot; на кнопке
кнопка &quot;вдавливается&quot;, а при отпускании клавиши она
восстанавливает свой первоначальный вид.</p>
2015-10-19 13:27:31 +03:00
<p>Если на кнопке клавиша &quot;1&quot; &quot;Мыши&quot; была
нажата, а затем отпущена, то выполняется команда, привязанная к
данной кнопке. Этого, однако, не происходит, если в момент
отпускания клавиши &quot;Мыши&quot; курсор &quot;Мыши&quot;
находился вне поля кнопки.</p>
2015-10-19 13:27:31 +03:00
<p>Если кнопка находится в фокусе ввода, то нажатие на клавишу
пробела приводит к выполнению команды, привязанной к этой
кнопке.</p>
2015-10-19 13:27:31 +03:00
<p>Если кнопка находится в состоянии <strong>disabled</strong>, то
все описанные выше действия не приводят ни к какому результату:
кнопка остается неактивной.</p>
2015-10-19 13:27:31 +03:00
<p>Поведение кнопки можно изменить с помощью новых привязок к
конкретным примитивам или путем переопределения привязок данного
класса.</p>
2015-10-19 13:27:31 +03:00
</body>
</html>