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>
 | ||
| 
 | ||
| 
 | ||
| 
 | 
