353 lines
22 KiB
HTML
353 lines
22 KiB
HTML
<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
||
<html>
|
||
<head>
|
||
<title>checkbutton</title>
|
||
</head>
|
||
<body>
|
||
|
||
<h1>checkbutton</h1>
|
||
|
||
|
||
<p>Создание примитива защелкивающейся кнопки и управление им.</p>
|
||
|
||
|
||
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
|
||
|
||
<pre>
|
||
<strong>checkbutton</strong> <em>имяПути параметры</em>
|
||
</pre>
|
||
|
||
|
||
<h2><a name=СТАНДАРТНЫЕ_ПАРАМЕТРЫ></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>
|
||
|
||
<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>-foreground</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=index-tk.html#options><strong>options</strong></a>.</p>
|
||
|
||
<h2><a name=ДОПОЛНИТЕЛЬНЫЕ_ПАРАМЕТРЫ_ПРИМИТИВА></a>ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА</h2>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-command</strong><br></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>command</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Command</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Ассоциирует с кнопкой команду Tk. Обычно команда выполняется
|
||
при отпускании клавиши 1 "Мыши" на кнопке. Перед
|
||
выполнением этой команды обновляется значение глобальной
|
||
переменной (параметр <em>-variable</em>).</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>-offvalue</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>offValue</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>OffValue</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает значение, которое нужно сохранять в переменной кнопки
|
||
всякий раз при прекращении выделения кнопки. По умолчанию
|
||
сохраняемое значение равно 0.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-onvalue</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>onValue</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>OnValue</strong></td></tr>
|
||
</table>
|
||
|
||
|
||
<p>Задает значение, которое нужно сохранять в переменной кнопки всякий раз
|
||
при выделении кнопки. По умолчанию сохраняемое значение равно 1.</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>SelectColor</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><br>
|
||
Задает изображение, выводимое в кнопке при выделении кнопки
|
||
проверки (вместо изображения, заданного параметром -image). Если
|
||
параметр -image отсутствует, то значение параметра
|
||
<strong>-selectimage</strong> игнорируется.<br>
|
||
</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>. Отключенное состояние указывает на то,
|
||
что кнопка должна быть нечувствительной: привязки по умолчанию
|
||
не приводят к запуску примитива и нажатия на кнопку
|
||
"Мыши" игнорируются. В этом состоянии изображение кнопки
|
||
определяется значениями параметров <strong>disabledForeground</strong> и
|
||
<strong>background</strong>.</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>Задает имя глобальной переменной, в которой хранится информация
|
||
о том, выделена или нет данная кнопка. По умолчанию совпадает с
|
||
именем кнопки (т.е. с последним элементом имени пути окна
|
||
кнопки).</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>checkbutton</strong> создает новое окно (задаваемое
|
||
аргументом <em>имяПути</em>) и превращает его в примитив
|
||
защелкивающейся кнопки. Детали изображения защелкивающейся
|
||
кнопки, такие как ее цвета, шрифт, текст и объемный вид задаются
|
||
с помощью описанных выше дополнительных параметров. Команда
|
||
<strong>button</strong> возвращает аргумент <em>имяПути</em>. В момент
|
||
выполнения этой команды не должно существовать окна с именем
|
||
<em>имяПути</em>, но должен существовать его предок. </p>
|
||
|
||
<p>Защелкивающаяся кнопка представляет собой примитив, в котором
|
||
выводится текстовая строка, изображение или двуцветное
|
||
изображение, а также квадратик, называемый <em>индикатором</em>.
|
||
Весь выводимый текст должен быть записан одним шрифтом, однако
|
||
он может занимать несколько строчек на экране (если в нем есть
|
||
символы перевода строки или задан параметр <strong>wrapLength</strong>).
|
||
Один из символов текста может быть подчеркнут (в соответствии со
|
||
значением параметра <strong>underline</strong>). Защелкивающаяся кнопка
|
||
обладает всеми характеристиками обычной кнопки, включая
|
||
следующие: в зависимости от значения параметра <strong>button</strong>
|
||
кнопка имеет три разных вида; кнопка может выглядеть выпуклой,
|
||
вдавленной или плоской, кроме того, она может мигать. При
|
||
инициации защелкивающейся кнопки (нажатием на клавишу 1 "Мыши",
|
||
когда курсор "Мыши" находится на кнопке) выполняется команда
|
||
Tcl, указанная в параметре <strong>-command</strong>.</p>
|
||
|
||
<p>Кроме того, защелкивающиеся кнопки можно выделять. Если
|
||
защелкивающаяся кнопка выделена, то индикатор обычно
|
||
изображается как выделенный, а переменная Tcl, ассоциированная с
|
||
данной кнопкой, имеет предписанное значение (обычно 1). В ОС
|
||
Unix индикатор изображается вдавленным и имеет специальный
|
||
цвет. В системе Windows вместо этого в индикаторе стоит
|
||
галочка. Если защелкивающаяся кнопка не выделена, то индикатор
|
||
имеет невыделенный вид, а ассоциированная переменная имеет
|
||
другое значение (обычно 0). В ОС Unix такой индикатор
|
||
изображается выпуклым и не имеет специального цвета. В системе
|
||
Windows в невыделенном индикаторе отсутствует галочка. По
|
||
умолчанию имя переменной, ассоциированной с защелкивающейся
|
||
кнопкой, совпадает с именем, использующимся при создании самой
|
||
кнопки. Имя переменной и записываемые в ней значения
|
||
выделенная/невыделенная можно поменять с помощью параметров
|
||
командной строки или в базе данных параметров. С помощью
|
||
параметров конфигурации можно также поменять вид индикатора (или
|
||
даже отменить саму необходимость его вывода). По умолчанию
|
||
выделение защелкивающейся кнопки меняется при последовательных
|
||
щелчках кнопки. Кроме того, каждая защелкивающаяся кнопка
|
||
отслеживает значение своей глобальной переменной и изменяет свое
|
||
состояние всякий раз при перемене этого значения с .выделенная.
|
||
на невыделенная и обратно.</p>
|
||
|
||
|
||
<p><a name=КОМАНДА ПРИМИТИВА></a>КОМАНДА ПРИМИТИВА</p>
|
||
|
||
|
||
<p>Команда <strong>checkbutton</strong> создает новую команду Tcl с именем
|
||
<em>имяПути</em>. С помощью этой команды можно выполнять различные
|
||
операции над примитивом. Ее общий вид: </p>
|
||
<dl>
|
||
|
||
<dt>имяПути параметр арг арг ...</dt>
|
||
|
||
<dd><p><em>Параметр</em> и <em>арг</em>ументы уточняют
|
||
поведение команды. Примитивы защелкивающейся кнопки допускают
|
||
следующие формы команды:</p>
|
||
|
||
<dl>
|
||
<dt> <em>имяПути</em> <strong>cget</strong> <em>параметр</em> </dt>
|
||
|
||
<dd>Возвращает текущее значение параметра конфигурации с
|
||
именем <em>параметр</em>. <em>Параметр</em> может быть любым
|
||
из параметров команды <strong>checkbutton</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>configure</strong> <em>параметр значение параметр
|
||
значение ...</em> </dt>
|
||
|
||
<dd>Запрашивает значения <em>параметров</em> конфигурации
|
||
примитива или изменяет их. Если <em>параметр</em> не указан,
|
||
то возвращает список, содержащий значения всех допустимых
|
||
в <em>имениПути</em> параметров (формат списка описан в
|
||
<strong>Tk_ConfigureInfo</strong>). Если <em>параметр</em> задан,
|
||
а его новое <em>значение</em> нет, то команда возвращает
|
||
часть полного списка, относящуюся к указанному
|
||
<em>параметру</em>. Если заданы одна или несколько пар
|
||
параметр-значение, то указанным параметрам примитива
|
||
присваиваются новые значения, а команда возвращает пустую
|
||
строку. <em>Параметр</em> может быть любым из параметров
|
||
команды <strong>checkbutton</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>Приводит в точности к тому же результату, что и нажатие
|
||
клавиши "Мыши" на защелкивающейся кнопке: кнопка
|
||
становится выделенной и выполняется команда Tcl,
|
||
ассоциированная с кнопкой (при наличии такой
|
||
команды). Возвращаемое значение совпадает с возвращаемым
|
||
значением команды Tcl (или является пустой строкой, если с
|
||
защелкивающейся кнопкой никакой команды не
|
||
ассоциировано). Если перед началом выполнения команды
|
||
защелкивающаяся кнопка находится в состоянии
|
||
<strong>disabled</strong>, то команда игнорируется.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>toggle</strong></dt>
|
||
|
||
<dd>Выделяет кнопку, перерисовывая ее в новом состоянии и
|
||
изменяя значение ассоциированной переменной.</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
|
||
<h2><a name=ПРЕДПОЧТЕНИЯ></a>ПРЕДПОЧТЕНИЯ</h2>
|
||
|
||
|
||
<p>При создании защелкивающейся кнопки Tk, в соответствии с типом
|
||
кнопки, автоматически формирует параметры, определяющие ее
|
||
поведение по умолчанию:</p>
|
||
<ul>
|
||
<li>В ОС Unix кнопка становится активной при появлении над ней
|
||
курсора "Мыши" и дезактивируется, когда курсор ее
|
||
покидает. В системах Mac и Windows при нажатии клавиши 1
|
||
"Мыши" на защелкивающейся кнопке кнопка
|
||
активизируется, когда курсор "Мыши" находится на
|
||
кнопке и становится неактивной, когда курсор ее покидает.</li>
|
||
|
||
<li>При нажатии клавиши 1 "Мыши" на защелкивающейся
|
||
кнопке кнопка становится выделенной и выполняется команда,
|
||
привязанная к ней.</li>
|
||
|
||
<li>Если защелкивающаяся кнопка находится в фокусе ввода, то
|
||
нажатие на клавишу пробела приводит к выполнению команды,
|
||
привязанной к этой кнопке.</li>
|
||
|
||
<li>В системе Windows имеются дополнительные привязки клавиш: плюс
|
||
(+) и знак равенства (=) выделяют кнопку, а минус (-)
|
||
отменяет выделение.</li>
|
||
|
||
<li>Если защелкивающаяся кнопка находится в состоянии
|
||
<strong>disabled</strong>, то все описанные выше действия не
|
||
приводят ни к какому результату: кнопка остается
|
||
неактивной.</li>
|
||
|
||
<li>Поведение защелкивающейся кнопки можно изменить с помощью
|
||
новых связей для конкретных примитивов или путем переопределения
|
||
связей данного класса.</li>
|
||
</ul>
|
||
|
||
</body>
|
||
</html>
|
||
|
||
|
||
|