projman/hlp/ru/tk/radiobutton.html
2018-02-05 17:23:37 +03:00

346 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
<head>
<title>radiobutton</title>
</head>
<body>
<h1>radiobutton</h1>
<p>Создание примитива кнопки-переключателя и управление им.</p>
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
<pre>
<strong>radiobutton</strong> <em>имяПути</em> ?<em>параметры</em>?
</pre>
<h2><a name=СТАНДАРТНЫЕАРАМЕТРЫ></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>
<ul>
<li><strong>-activeBackground</strong></li>
<li><strong>-activeforeground</strong></li>
<li><strong>-anchor</strong></li>
<li><strong>-background</strong></li>
<li><strong>-bitmap</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>-highlightbackground</strong></li>
<li><strong>-highlightcolor</strong></li>
<li><strong>-highlightthickness</strong></li>
<li><strong>-image</strong></li>
<li><strong>-justify</strong></li>
<li><strong>-padx</strong></li>
<li><strong>-pady</strong></li>
<li><strong>-relief</strong></li>
<li><strong>-takefocus</strong></li>
<li><strong>-text</strong></li>
<li><strong>-textvariable</strong></li>
<li><strong>-underline</strong></li>
<li><strong>-wraplength</strong></li>
</ul>
<p>Подробное описание этих параметров приведено в разделе <a
href=options.html><strong>options</strong></a>.</p>
<h2><a name=ДОПОЛНИТЕЛЬНЫЕАРАМЕТРЫ_ПРИМИТИВА></a>ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА</h2>
<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>
</table>
<p>Ассоциирует с кнопкой команду Tk. Обычно команда выполняется
при отпускании клавиши 1 &quot;Мыши&quot; на окне
кнопки-переключателя. Перед выполнением команды обновляется
значение глобальной переменной переключателя (параметр
<strong>-variable</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>-indicatoron</strong></td></tr>
<tr><td>Имя в Базе:</td><td><strong>indicatorOn</strong></td></tr>
<tr><td>Класс в Базе:</td><td><strong>IndicatorOn</strong></td></tr>
</table>
<p>Указывает, следует ли выводить индикатор. Значение параметра
должно быть булевским. Если значением является ложь, то параметр
<strong>relief</strong> игнорируется и примитив всегда
изображается вдавленным, если он выделен, и выпуклым в противном
случае.</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>Задает цвет фона для изображения выделенной кнопки. Если
параметр <strong>IndicatorOn</strong> имеет значение истина, то
указанный цвет применяется для изображения индикатора. В системе
Windows тот же цвет используется в качестве фона изображения
индикатора вне зависимости от состояния выделения. Если
значением параметра <strong>IndicatorOn</strong> является ложь,
то указанный цвет используется в качестве фона для всего
примитива, когда он выделен, вместо значений параметров
<strong>background</strong> и
<strong>activeBackground</strong>.</p>
<table>
<tr><td>Имя параметра:</td><td><strong>-selectimage</strong></td></tr>
<tr><td>Имя в Базе:</td><td><strong>selectImage</strong></td></tr>
<tr><td>Класс в Базе:</td><td><strong>SelectImage</strong></td></tr>
</table>
<p>Задает изображение, выводимое в кнопке при выделении
кнопки-переключателя (вместо изображения, заданного параметром
<strong>-image</strong>). Если параметр <strong>-image</strong>
отсутствует, то значение параметра -<strong>selectimage</strong>
игнорируется.</p>
<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>
</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> и
<strong>background</strong>.
</p>
<table>
<tr><td>Имя параметра:</td><td><strong>-value</strong></td></tr>
<tr><td>Имя в Базе:</td><td><strong>value</strong></td></tr>
<tr><td>Класс в Базе:</td><td><strong>Value</strong></td></tr>
</table>
<p>Задает значение, которое следует заносить в переменную
кнопки-переключателя при выделении этой кнопки.</p>
<table>
<tr><td>Имя параметра:</td><td><strong>-variable</strong></td></tr>
<tr><td>Имя в Базе:</td><td><strong>variable</strong></td></tr>
<tr><td>Класс в Базе:</td><td><strong>Variable</strong></td></tr>
</table>
<p>Задает имя глобальной переменной, значение которой нужно
устанавливать при выделении кнопки. Изменение значения этой
переменной также приводит к изменению состояния выделения
кнопки. По умолчанию параметр имеет значение
<strong>selectedButton</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>Задает желаемую ширину кнопки-переключателя. Если в кнопке
выводится изображение или двуцветное изображение, то значение
параметра задается в пикселах (т.е., в любом виде, приемлемом
для Tk_GetPixels); ширина текстовой кнопки задается числом
символов. Если параметр не задан, то ширина кнопки вычисляется
по ее содержимому.</p>
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
<p>Команда <strong>radiobutton</strong> создает новое окно
(задаваемое аргументом <em>имяПути</em>) и превращает его в
примитив кнопки-переключателя. Детали изображения
кнопки-переключателя, такие как ее цвета, шрифт, текст и
исходный объемный вид задаются с помощью описанных выше
дополнительных параметров. Команда <strong>radiobutton</strong>
возвращает аргумент <em>имяПути</em>. В момент выполнения этой
команды не должно существовать окна с именем <em>имяПути</em>,
но должен существовать его предок.</p>
<p>Кнопка-переключатель представляет собой примитив, в котором
выводится текстовая строка, изображение или двуцветное
изображение, а также ромб или кружок, называемый
<em>индикатором</em>. Весь выводимый текст должен быть записан
одним шрифтом, однако он может занимать несколько строчек на
экране (если в нем есть символы перевода строки или задан
параметр <strong>wrapLength</strong>). Один из символов текста
может быть подчеркнут (в соответствии со значением параметра
<strong>underline</strong>). Кнопка-переключатель обладает всеми
характеристиками обычной кнопки, включая следующие: в
зависимости от значения параметра <strong>state</strong> кнопка
имеет три разных вида; кнопка может выглядеть выпуклой,
вдавленной или плоской, кроме того, она может мигать. При
инициации кнопки-переключателя (нажатием на клавишу 1
&quot;Мыши&quot;, когда курсор &quot;Мыши&quot; находится на
кнопке) выполняется команда Tcl.</p>
<p>Кроме того, кнопки-переключатели можно <em>выделять</em>. Если
кнопка выделена, то индикатор обычно изображается как
выделенный, а переменная Tcl, ассоциированная с данной кнопкой,
имеет предписанное значение (обычно 1). В ОС Unix индикатор
изображается вдавленным и имеет специальный цвет. В системе
Windows вместо этого в индикаторе появляется круглая метка. Если
кнопка-переключатель не выделена, то индикатор имеет
невыделенный вид, а ассоциированная переменная имеет другое
значение (обычно &quot;0&quot;). В ОС Unix такой индикатор
изображается выпуклым и не имеет специального цвета. В системе
Windows в невыделенном индикаторе отсутствует круглая
метка. Обычно одна переменная обслуживает несколько
кнопок-переключателей, а ее значение указывает, какая из них
должна быть выделена. При выделении кнопки происходит изменение
значения ассоциированной переменной. Кроме того, каждая
кнопка-переключатель отслеживает значение ассоциированной
переменной и при его изменении состояние выделения кнопки
меняется. По умолчанию используется переменная
<strong>selectedButton</strong>; ее значением является имя
выделенной кнопки или пустая строка, если ни одна из кнопок,
ассоциированных с данной переменной, не выделена. Имя переменной
и записываемые в ней значения
&quot;выделенная&quot;/&quot;невыделенная&quot; можно поменять с
помощью параметров командной строки или в базе данных
параметров. С помощью параметров конфигурации можно также
поменять вид индикатора (или даже отменить саму необходимость
его вывода). По умолчанию выделение кнопки-переключателя
происходит при щелчке на кнопке.</p>
<h2><a name=КОМАНДАРИМИТИВА></a>КОМАНДА ПРИМИТИВА</h2>
<p>Команда <strong>radiobutton</strong> создает новую команду Tcl
с именем <em>имяПути</em>. С помощью этой команды можно
выполнять различные операции над примитивом. Ее общий вид</p>
<pre>
имяПути параметр ?арг арг ...?
</pre>
<p><em>Параметр</em> и <em>арг</em>ументы уточняют поведение
команды. Примитивы кнопки-переключателя допускают следующие
формы команды:</p>
<dl>
<dt><em>имяПути</em> <strong>cget</strong> <em>параметр</em></dt>
<dd>Возвращает текущее значение параметра конфигурации с именем
параметр. Параметр может быть любым из параметров команды
<strong>radiobutton</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> то
указанным параметрам примитива присваиваются новые значения, а
команда возвращает пустую строку. Параметр может быть любым из
параметров команды <strong>radiobutton</strong>.</dd>
<dt><em>имяПути</em> <strong>deselect</strong></dt>
<dd>Отменяет выделение кнопки-переключателя и придает
ассоциированной переменной значение .пустая строка.. Если в
момент исполнения команды данная кнопка-переключатель не была
выделена, то команда не производит никаких действий.</dd>
<dt><em>имяПути</em> <strong>flash</strong></dt>
<dd>Заставляет кнопку-переключатель мигать. Этот эффект
достигается путем многократного вывода изображения кнопки
поочередно в активном и нормальном состоянии. По окончании
работы команды кнопка-переключатель остается в том же
состоянии (активном или нормальном), что и перед началом ее
выполнения. Если перед началом выполнения команды кнопка
находится в состоянии <strong>disabled</strong>, то команда
игнорируется.</dd>
<dt><em>имяПути</em> <strong>invoke</strong></dt>
<dd>Приводит в точности к тому же результату, что и нажатие
клавиши &quot;Мыши&quot; на кнопке-переключателе: кнопка
становится выделенной и выполняется команда Tcl,
ассоциированная с кнопкой (при наличии такой
команды). Возвращаемое значение совпадает с возвращаемым
значением команды Tcl (или является пустой строкой, если с
кнопкой никакой команды не ассоциировано). Если перед началом
выполнения команды кнопка-переключатель находится в состоянии
<strong>disabled</strong>, то команда игнорируется.</dd>
<dt><em>имяПути</em> <strong>select</strong></dt>
<dd>Выделяет кнопку, перерисовывая ее в новом состоянии и
изменяя значение ассоциированной переменной.</dd>
</dl>
<h2><a name=ПРИВЯЗКИ></a>ПРИВЯЗКИ</h2>
<p>При создании кнопки-переключателя Tk автоматически создает
привязки к ней, определяющие ее поведение по умолчанию:</p>
<ol>
<li>в ОС Unix кнопка становится активной при появлении над ней
курсора &quot;Мыши&quot; и дезактивируется, когда курсор ее
покидает. В системах Mac и Windows при нажатии клавиши 1
&quot;Мыши&quot; на переключателе кнопка активизируется, когда
курсор &quot;Мыши&quot; находится на кнопке и дезактивируется, когда
курсор ее покидает;</li>
<li>при нажатии клавиши 1 &quot;Мыши&quot; на
кнопке-переключателе кнопка становится выделенной и
выполняется команда, привязанная к ней;</li>
<li>если кнопка-переключатель находится в фокусе ввода, то
нажатие на клавишу пробела приводит к выполнению команды,
привязанной к этой кнопке;</li>
<li>если кнопка-переключатель находится в состоянии
<strong>disabled</strong>, то все описанные выше действия не
приводят ни к какому результату: кнопка остается
безответной.</li>
</ol>
<p>Поведение кнопки-переключателя можно изменить с помощью новых
привязок к конкретным примитивам или путем переопределения
привязок данного класса.</p>
</body>
</html>