<!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 "Мыши".</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>. Отключенное состояние указывает на то, что кнопка должна быть нечувствительной: привязки по умолчанию не приводят к запуску примитива и нажатия на кнопку "Мыши" игнорируются. В этом состоянии изображение кнопки определяется значениями параметров <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 "Мыши", когда курсор "Мыши" находится на кнопке) выполняется команда 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>Кнопка становится активной при появлении над ней курсора "Мыши" и дезактивируется, когда курсор ее покидает. В системе Windows привязка активизируется только при нажатии клавиши "1" "Мыши" на кнопке.</p> <p>При нажатии клавиши "1" "Мыши" на кнопке кнопка "вдавливается", а при отпускании клавиши она восстанавливает свой первоначальный вид.</p> <p>Если на кнопке клавиша "1" "Мыши" была нажата, а затем отпущена, то выполняется команда, привязанная к данной кнопке. Этого, однако, не происходит, если в момент отпускания клавиши "Мыши" курсор "Мыши" находился вне поля кнопки.</p> <p>Если кнопка находится в фокусе ввода, то нажатие на клавишу пробела приводит к выполнению команды, привязанной к этой кнопке.</p> <p>Если кнопка находится в состоянии <strong>disabled</strong>, то все описанные выше действия не приводят ни к какому результату: кнопка остается неактивной.</p> <p>Поведение кнопки можно изменить с помощью новых привязок к конкретным примитивам или путем переопределения привязок данного класса.</p> </body> </html>