<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>button</title>
  </head>
  <body>

    <h1>button</h1>

    <p>Создание примитива кнопки и управление им.</p>

    <h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>

    <pre>
      <strong>button</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>-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>

    <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;.</p>

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

    <p>Задает одно из трех состояний изображения ободка кнопки:
      <strong>normal</strong>, <strong>active</strong> или
      <strong>disabled</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>-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>-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>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, указанная в параметре
      <strong>-command</strong>.</p>

    <h2><a name=КОМАНДА_ПРИМИТИВА></a>КОМАНДА ПРИМИТИВА</h2>

    <p>Команда <strong>button</strong> создает новую команду Tcl с
      именем <em>имяПути</em>. С помощью этой команды можно выполнять
      различные операции над примитивом. Ее общий вид.</p>

    <pre>
      <strong>имяПути</strong> <em>параметр арг арг</em> ...
    </pre>

    <p><em>Параметр</em> и <em>арг</em>ументы уточняют поведение команды.
      Примитивы кнопки допускают следующие формы команды:</p>

    <pre>
      <em>имяПути</em> <strong>cget</strong> <em>параметр</em>
    </pre>

    <p>Возвращает текущее значение параметра конфигурации с именем
      параметр. Параметр может быть любым из параметров команды
      <strong>button</strong>.</p>
    
    <pre>
      <em>имяПути</em> <strong>configure</strong> <em>параметр значение параметр значение ...</em>
    </pre>

    <p>Запрашивает значения параметров конфигурации примитива или
      изменяет их. Если параметр не указан, то возвращает список,
      содержащий значения всех допустимых в <em>имениПути</em>
      параметров (формат списка описан в
      <strong>Tk_ConfigureInfo</strong>). Если <em>параметр</em>
      задан, а его новое значение - нет, то команда возвращает часть
      полного списка, относящуюся к указанному параметру. Если заданы
      одна или несколько пар параметр-значение, то указанным
      параметрам примитива присваиваются новые значения, а команда
      возвращает пустую строку. <em>Параметр</em> может быть любым из
      параметров команды <strong>button</strong>.</p>

    <pre>
      <em>имяПути</em> <strong>flash</strong>
    </pre>

    <p>Заставляет кнопку мигать. Этот эффект достигается путем
      многократного вывода изображения кнопки поочередно в активном и
      нормальном состоянии. По окончании работы команды кнопка
      остается в том же состоянии (активном или нормальном), что и
      перед началом ее выполнения. Если перед началом выполнения
      команды кнопка находится в состоянии <strong>disabled</strong>,
      то команда игнорируется.</p>

    <pre>
      <em>имяПути</em> <strong>invoke</strong>
    </pre>

    <p>Выполняет команду Tcl, ассоциированную с кнопкой (при наличии
      такой команды). Возвращаемое значение совпадает с возвращаемым
      значением команды Tcl (или является пустой строкой, если с
      кнопкой никакой команды не ассоциировано). Если перед началом
      выполнения команды кнопка находится в состоянии
      <strong>disabled</strong>, то команда игнорируется.</p>

    <p>При создании кнопки Tk, в соответствии с типом кнопки,
      автоматически создает привязки к ней, определяющие ее поведение
      по умолчанию:</p>

    <p>Кнопка становится активной при появлении над ней курсора
      &quot;Мыши&quot; и дезактивируется, когда курсор ее покидает. В
      системе Windows привязка активизируется только при нажатии
      клавиши &quot;1&quot; &quot;Мыши&quot; на кнопке.</p>

    <p>При нажатии клавиши &quot;1&quot; &quot;Мыши&quot; на кнопке
      кнопка &quot;вдавливается&quot;, а при отпускании клавиши она
      восстанавливает свой первоначальный вид.</p>

    <p>Если на кнопке клавиша &quot;1&quot; &quot;Мыши&quot; была
      нажата, а затем отпущена, то выполняется команда, привязанная к
      данной кнопке.  Этого, однако, не происходит, если в момент
      отпускания клавиши &quot;Мыши&quot; курсор &quot;Мыши&quot;
      находился вне поля кнопки.</p>

    <p>Если кнопка находится в фокусе ввода, то нажатие на клавишу
      пробела приводит к выполнению команды, привязанной к этой
      кнопке.</p>

    <p>Если кнопка находится в состоянии <strong>disabled</strong>, то
      все описанные выше действия не приводят ни к какому результату:
      кнопка остается неактивной.</p>

    <p>Поведение кнопки можно изменить с помощью новых привязок к
      конкретным примитивам или путем переопределения привязок данного
      класса.</p>

  </body>
</html>