projman/hlp/ru/tk/event.html

527 lines
32 KiB
HTML
Raw Normal View History

<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
2015-10-19 13:27:31 +03:00
<html>
<head>
<title>event</title>
</head>
<body>
<h1>event</h1>
<p>Определение виртуальных событий и генерация событий</p>
2015-10-19 13:27:31 +03:00
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
2015-10-19 13:27:31 +03:00
<pre>
<strong>event</strong> <em>параметр</em> ?<em>арг арг ...</em>?
2015-10-19 13:27:31 +03:00
</pre>
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
2015-10-19 13:27:31 +03:00
<p>Команда <strong>event</strong> обеспечивает различные
возможности работы с событиями, включая определение виртуальных
событий и синтезирование событий. У команды есть несколько
различных форм, которые задаются первым аргументом. В настоящее
время поддерживаются следующие формы команды:</p>
2015-10-19 13:27:31 +03:00
<dl>
<dt><strong>event add</strong> &lt;&lt;<em>виртуальное</em>&gt;&gt;
<em>последовательность</em> ?<em>последовательность...</em>?</dt>
<dd>Связывает <em>виртуальное</em> событие с
последовательностями физических событий, указываемыми
аргументами <em>последовательность</em>; в результате
выполнение одной из указанных <em>последовательностей</em>
событий приводит к возникновению <em>виртуального</em>
события. Аргумент <em>виртуальное</em> может быть произвольной
строкой, а <em>последовательность</em> может принимать любое
значение, допустимое для аргумента <em>последовательность</em>
команды <a href=bind.html><strong>bind</strong></a>. Если
виртуальное событие уже определено, то новая
последовательность физических событий добавляется к списку уже
имеющихся последовательностей.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>event delete</strong>
&lt;&lt;<em>виртуальное</em>&gt;&gt; ?<em>последовательность
последовательность ..</em>?</dt>
<dd>Удаляет все указанные <em>последовательности</em> из списка
связанных с данным <em>виртуальным</em> событием. Аргумент
<em>виртуальное</em> может быть произвольной строкой, а
<em>последовательность</em> может принимать любое значение,
допустимое для аргумента <em>последовательность</em> команды
<a href=bind.html><strong>bind</strong></a>. Если
<em>последовательность</em> не связана с данным
<em>виртуальным</em> событием в текущий момент, то она
игнорируется. Если аргумент <em>последовательность</em>
отсутствует, то из списка удаляются все последовательности
физических событий и данное <em>виртуальное</em> событие не
может быть более осуществлено.</dd>
<dt> <strong>event generate</strong> <em>окно событие</em>
?<em>параметр значение параметр значение ...</em>?</dt>
<dd>Генерирует событие в окне и обеспечивает его обработку таким
образом, как если бы оно поступило из менеджера окон. Аргумент
<em>окно</em> задает имя пути окна, в котором будет
генерироваться событие; его значением может быть и
идентификатор окна (такой же, какой служит результатом команды
<strong>winfo id</strong>), если он относится к окну в текущем
приложении. Аргумент <em>событие</em> задает описание события,
например, в виде <strong>&lt;Shift-Button-2&gt;</strong> или
<strong>&lt;&lt;Paste&gt;&gt;</strong>. Аргумент
<em>событие</em> может принимать любое значение, допустимое
для аргумента <em>последовательность</em> команды <a
href=bind.html><strong>bind</strong></a>, за исключением
того, что он должен состоять из одного, а не из нескольких
событий. Пары <em>параметр-значение</em> можно использовать
для установки значений дополнительных параметров события,
например, координат курсора &quot;Мыши&quot; ниже
(см. &quot;<a
href=event.html#ПОЛЯ_СОБЫТИЯ>ПОЛЯ СОБЫТИЯ</a>&quot;). Если
параметр <strong>-when</strong> не задан, то событие
обрабатывается немедленно; все программы обработки события
будут выполнены до завершения команды <strong>event
generate</strong>. В противном случае момент обработки
определяется значением параметра <strong>-when</strong>.</dd>
2015-10-19 13:27:31 +03:00
<dt> <strong>event info</strong>
?&lt;&lt;<em>виртуальное</em>&gt;&gt;?</dt>
<dd>Возвращает информацию о виртуальных событиях. Если аргумент
&lt;&lt;<em>виртуальное</em>&gt;&gt; опущен, то возвращается
список всех виртуальных событий, определенных в текущий
момент. Если аргумент &lt;&lt;<em>виртуальное</em>&gt;&gt;
задан, то возвращаемое значение представляет собой список,
элементы которого являются последовательностями физических
событий, связанными с данным виртуальным событием; если
указанное виртуальное событие не определено, то команда
возвращает пустую строку.</dd>
2015-10-19 13:27:31 +03:00
</dl>
<h2><a name=ПОЛЯ_СОБЫТИЯ></a>ПОЛЯ СОБЫТИЯ</h2>
2015-10-19 13:27:31 +03:00
<p>Команда <strong>event generate</strong> поддерживает следующие
параметры, которые соответствуют расширению <strong>%</strong> в
скриптах привязки для команды <a
href=bind.html><strong>bind</strong></a>.</p>
2015-10-19 13:27:31 +03:00
<dl>
<dt><strong>-above</strong> <em>окно</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Аргумент <em>окно</em> задает поле
<strong>above</strong> для события либо в виде имени
пути окна либо в виде целочисленного идентификатора
окна. Параметр имеет смысл для событий
<strong>Configure</strong>. Параметр соответствует подстановке
<strong>%a</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-borderwidth</strong> <em>размер</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр <em>размер</em> представляет собой расстояние на
экране; задает значение поля <strong>border_width</strong>
события. Параметр имеет смысл для событий
<strong>Configure</strong>. Параметр соответствует подстановке
<strong>%B</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-button</strong> <em>число</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Значением параметра <em>число</em> должно быть целое число;
задает значение поля <em>detail</em> для события
<strong>ButtonPress</strong> или
<strong>ButtonRelease</strong>, подавляя номер кнопки,
задаваемый параметром события <strong>base</strong>. Параметр
соответствует подстановке <strong>%b</strong> для скриптов
привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-count</strong> <em>число</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Значением параметра <em>число</em> должно быть целое число;
задает значение поля <strong>count</strong> для
события. Параметр имеет смысл для событий
<strong>Expose</strong>. Параметр соответствует подстановке
<strong>%c</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-detail</strong> <em>детальность</em></dt>
2015-10-19 13:27:31 +03:00
<dd><p>Параметр задает значение поля <strong>detail</strong> для
события и может принимать следующие значения:</p>
2015-10-19 13:27:31 +03:00
<ul>
<li><strong>NotifyAncestor</strong></li>
<li><strong>NotifyDetailNone</strong></li>
<li><strong>NotifyInferior</strong></li>
<li><strong>NotifyNonlinear</strong></li>
<li><strong>NotifyNonlinearVirtual</strong></li>
<li><strong>NotifyPointer</strong></li>
<li><strong>NotifyPointerRoot</strong></li>
<li><strong>NotifyVirtual</strong></li>
</ul>
<p>Имеет смысл для событий <strong>Enter</strong>,
<strong>Leave</strong>, <strong>FocusIn</strong> и
<strong>FocusOut</strong>. Параметр соответствует
подстановке <strong>%d</strong> для скриптов привязки.</p>
2015-10-19 13:27:31 +03:00
</dd>
<dt> <strong>-focus</strong> <em>булевское</em></dt>
<dd>Параметр <em>булевское</em> принимает булевские значения; он
задает значение поля <strong>focus</strong> для события. Имеет
смысл для событий <strong>Enter</strong> и
<strong>Leave</strong>. Параметр соответствует подстановке
<strong>%f</strong> для скриптов привязки.</dd>
<dt> <strong>-height</strong> <em>размер</em> </dt>
<dd>Параметр <em>размер</em> представляет собой расстояние на
экране; задает значение поля <strong>height</strong>
события. Параметр имеет смысл для событий
<strong>Configure</strong>. Параметр соответствует подстановке
<strong>%h</strong> для скриптов привязки.</dd>
<dt><strong>-keycode</strong> <em>число</em></dt>
<dd>Значением параметра <em>число</em> должно быть целое число;
задает значение поля <strong>keycode</strong> для
события. Параметр имеет смысл для событий
<strong>KeyPress</strong> и
<strong>KeyRelease</strong>. Параметр соответствует
подстановке <strong>%k</strong> для скриптов привязки.</dd>
<dt><strong>-keysym</strong> <em>имя</em></dt>
<dd>Значением параметра <em>имя</em> должно быть имя допустимого
символа клавиатуры, например, <strong>g</strong>,
<strong>пробел</strong> или <strong>Return</strong>; код этого
символа используется в качестве значения поля
<strong>keycode</strong> события, подавляя значение
детальности, заданное аргументом <strong>base</strong>
события. Имеет смысл для событий <strong>KeyPress</strong> и
<strong>KeyRelease</strong>. Параметр соответствует
подстановке <strong>%K</strong> для скриптов привязки.</dd>
<dt><strong>-mode</strong> <em>уведомление</em></dt>
<dd>Параметр <em>уведомление</em> задает значение поля
<strong>mode</strong> для события; он должен принимать одно из
значений <strong>NotifyNormal</strong>,
<strong>NotifyGrab</strong>, <strong>NotifyUngrab</strong> или
<strong>NotifyWhileGrabbed</strong>. Имеет смысл для событий
2015-10-19 13:27:31 +03:00
<strong>Enter</strong>, <strong>Leave</strong>,
<strong>FocusIn</strong> и <strong>FocusOut</strong>. Параметр
соответствует подстановке <strong>%m</strong> для скриптов
привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-override</strong> <em>булевское</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Значение параметра <em>булевское</em> должно быть булевским;
он задает значение поля <strong>override_redirect</strong> для
события. Имеет смысл для событий <strong>Map</strong>,
<strong>Reparent</strong> и
<strong>Configure</strong>. Параметр соответствует подстановке
<strong>%o</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt> <strong>-place</strong> <em>где</em> </dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр <em>где</em> задает значение поля
<strong>place</strong> для события; может принимать значения
<strong>PlaceOnTop</strong> или
<strong>PlaceOnBottom</strong>. Имеет смысл для событий
<strong>Circulate</strong>. Параметр соответствует подстановке
<strong>%p</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-root</strong> <em>окно</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Аргумент <em>окно</em> задает поле <strong>root</strong> для
события либо в виде имени пути окна, либо в виде
целочисленного идентификатора окна. Имеет смысл для событий
2015-10-19 13:27:31 +03:00
<strong>KeyPress</strong>, <strong>KeyRelease</strong>,
<strong>ButtonPress</strong>, <strong>ButtonRelease</strong>,
<strong>Enter</strong>, <strong>Leave</strong> и
<strong>Motion</strong>. Параметр соответствует подстановке
<strong>%R</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt> <strong>-rootx</strong> <em>коорд</em> </dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр <em>коорд</em> представляет собой расстояние на
экране; задает значение поля <strong>x_root</strong>
события. Параметр имеет смысл для событий
2015-10-19 13:27:31 +03:00
<strong>KeyPress</strong>, <strong>KeyRelease</strong>,
<strong>ButtonPress</strong>, <strong>ButtonRelease</strong>,
<strong>Enter</strong>, <strong>Leave</strong> и
<strong>Motion</strong>. Параметр соответствует подстановке
<strong>%X</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-rooty</strong> <em>коорд</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр <em>коорд</em> представляет собой расстояние на
экране; задает значение поля <strong>y_root</strong>
события. Параметр имеет смысл для событий
2015-10-19 13:27:31 +03:00
<strong>KeyPress</strong>, <strong>KeyRelease</strong>,
<strong>ButtonPress</strong>, <strong>ButtonRelease</strong>,
<strong>Enter</strong>, <strong>Leave</strong> и
<strong>Motion</strong>. Параметр соответствует подстановке
<strong>%Y</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-sendevent</strong> <em>булевское</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Значение параметра <em>булевское</em> должно быть булевским;
он задает значение поля <strong>send_event</strong> для
события. Имеет смысл для всех событий. Параметр соответствует
подстановке <strong>%E</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt> <strong>-serial</strong> <em>число</em> </dt>
2015-10-19 13:27:31 +03:00
<dd>Значение параметра должно быть целым числом; задает значение
поля <strong>serial</strong> для события. Имеет смысл
для всех событий. Параметр соответствует подстановке
<strong>%#</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt> <strong>-state</strong> <em>состояние</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр задает значение поля <strong>state</strong> для
события. Для событий <strong>KeyPress</strong>,
2015-10-19 13:27:31 +03:00
<strong>KeyRelease</strong>, <strong>ButtonPress</strong>,
<strong>ButtonRelease</strong>, <strong>Enter</strong>,
<strong>Leave</strong> и <strong>Motion</strong> значение
параметра должно быть целым. Для событий
<strong>Visibility</strong> параметр может принимать одно из
значений <strong>VisibilityUnobscured</strong>,
<strong>VisibilityPartiallyObscured</strong> или
<strong>VisibilityFullyObscured</strong>. Этот параметр
подавляет любые модификаторы, например, <strong>Meta</strong>
или <strong>Control</strong>, указанные в основном
событии. Параметр соответствует подстановке
<strong>%s</strong> для скриптов привязки.</dd>
<dt> <strong>-subwindow</strong> <em>окно</em></dt>
<dd>Аргумент <em>окно</em> задает поле
<strong>subwindow</strong> для события либо в виде имени пути
примитива event, либо в виде целочисленного идентификатора
окна. Имеет смысл для событий <strong>KeyPress</strong>,
2015-10-19 13:27:31 +03:00
<strong>KeyRelease</strong>, <strong>ButtonPress</strong>,
<strong>ButtonRelease</strong>, <strong>Enter</strong>,
<strong>Leave</strong> и <strong>Motion</strong>. Аналогичен
подстановке <strong>%S</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-time</strong> <em>целое</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр должен иметь целое значение; задает значение поля
<strong>time</strong> для события. Имеет смысл для событий
2015-10-19 13:27:31 +03:00
<strong>KeyPress</strong>, <strong>KeyRelease</strong>,
<strong>ButtonPress</strong>, <strong>ButtonRelease</strong>,
<strong>Enter</strong>, <strong>Leave</strong>,
<strong>Motion</strong> и <strong>Property</strong>. Параметр
соответствует подстановке <strong>%t</strong> для скриптов
привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt> <strong>-width</strong> <em>размер</em> </dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр <em>размер</em> представляет собой расстояние на
экране; задает значение поля <strong>width</strong>
события. Параметр имеет смысл для событий
<strong>Configure</strong>. Параметр соответствует подстановке
<strong>%w</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>-when</strong> <em>когда</em></dt>
2015-10-19 13:27:31 +03:00
<dd><p>Параметр <em>когда</em> задает момент обработки события;
должен принимать одно из следующих значений:</p>
2015-10-19 13:27:31 +03:00
<dl>
<dt><strong>now</strong></dt>
<dd>Событие обрабатывается немедленно, до завершения
выполнения команды. То же самое происходит и в случае,
если параметр <strong>-when</strong> опущен.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>tail</strong></dt>
<dd> Устанавливает событие в очередь событий Tcl вслед за
всеми стоящими в этой очереди событиями данного
приложения.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>head</strong></dt>
<dd> Устанавливает событие в начало очереди событий Tcl; оно
будет обработано перед остальными событиями, уже стоящими
в очереди.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>mark</strong></dt>
<dd>Устанавливает событие в начало очереди событий Tcl, но
вслед за всеми событиями, вставшими в очередь посредством
указания параметра <strong>-when</strong>. Такая
возможность полезна при генерации последовательности
событий, которые должны быть обработаны одно за другим, но
перед всеми событиями уже стоящими в очереди.</dd>
2015-10-19 13:27:31 +03:00
</dl>
</dd>
<dt><strong><em>-x</em></strong> <em>коорд</em> </dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр <em>коорд</em> представляет собой расстояние на
экране; задает значение поля <strong>x</strong>
события. Параметр имеет смысл для событий
2015-10-19 13:27:31 +03:00
<strong>KeyPress</strong>, <strong>KeyRelease</strong>,
<strong>ButtonPress</strong>, <strong>ButtonRelease</strong>,
<strong>Enter</strong>, <strong>Leave</strong>,
<strong>Motion</strong>, <strong>Expose</strong>,
<strong>Configure</strong>, <strong>Gravity</strong> и
<strong>Reparent</strong>. Параметр соответствует подстановке
<strong>%x</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong><em>-y</em></strong> <em>коорд</em></dt>
2015-10-19 13:27:31 +03:00
<dd>Параметр <em>коорд</em>представляет собой расстояние на
экране; задает значение поля <strong>y</strong>
события. Параметр имеет смысл для событий
2015-10-19 13:27:31 +03:00
<strong>KeyPress</strong>, <strong>KeyRelease</strong>,
<strong>ButtonPress</strong>, <strong>ButtonRelease</strong>,
<strong>Enter</strong>, <strong>Leave</strong>,
<strong>Motion</strong>, <strong>Expose</strong>,
<strong>Configure</strong>, <strong>Gravity</strong> и
<strong>Reparent</strong>. Параметр соответствует подстановке
<strong>%y</strong> для скриптов привязки.</dd>
2015-10-19 13:27:31 +03:00
</dl>
<p>Значением всякого параметра, не указанного при генерации
события, становится 0, за исключением параметра
<strong>serial</strong>, которому присваивается серийный номер
очередного X события.</p>
<h2><a name=ПРИМЕРЫ_ВИРТУАЛЬНЫХ_СОБЫТИЙ></a>ПРИМЕРЫ ВИРТУАЛЬНЫХ СОБЫТИЙ</h2>
<p>Для обращения к привязке к виртуальному событию необходимо
выполнение двух условий. Во-первых, это виртуальное событие
должно быть определено командой <strong>event
add</strong>. Во-вторых, к этому виртуальному событию должна
быть создана привязка с помощью команды <a href=
bind.html><strong>bind</strong></a>.</p>
2015-10-19 13:27:31 +03:00
<p>Рассмотрим следующие определения виртуальных событий:</p>
2015-10-19 13:27:31 +03:00
<pre>
event add &lt;&lt;Paste&gt;&gt; &lt;Control-y&gt;
event add &lt;&lt;Paste&gt;&gt;&lt;Button-2&gt;
event add &lt;&lt;Save&gt;&gt; &lt;Control-X&gt;&lt;Control-S&gt;
event add &lt;&lt;Save&gt;&gt; &lt;Shift-F12&gt;
</pre>
<p>В команде <strong>bind</strong> привязка к виртуальным событиям
осуществляется так же, как и ко встроенным типам событий:</p>
2015-10-19 13:27:31 +03:00
<pre>
bind Entry &lt;&lt;Paste&gt;&gt; {%W insert[selection get]}
</pre>
<p>Двойные угловые скобки показывают, что выполняется привязка к
виртуальному событию. При нажатии клавиш
<strong>Control-y</strong> или кнопки 2 .Мыши. или при
синтезировании виртуального события
<strong>&lt;&lt;Paste&gt;&gt;</strong> командой <strong>event
generate</strong> будет выполнена привязка
2015-10-19 13:27:31 +03:00
<strong>&lt;&lt;Paste&gt;&gt;</strong>.</p>
<p>Если последовательность в виртуальном событии в точности
совпадает с последовательностью в другом физическом событии, то
преимуществом пользуется физическое событие. Рассмотрим
следующий пример:</p>
2015-10-19 13:27:31 +03:00
<p>
event add &lt;&lt;Paste&gt;&gt; &lt;Control-y&gt; &lt;Meta-Control-y&gt;
bind Entry &lt;Control-y&gt; {puts Control-y}
bind Entry &lt;&lt;Paste&gt;&gt; {puts Paste}
<p>При нажатии на клавиши <strong>Control-y</strong> будет
выполнена привязка <strong>&lt;Control-y&gt;</strong>, так как
физическое событие считается более конкретным, чем виртуальное,
а в остальном все одинаково. Однако при нажатии клавиш
<strong>Meta-Control-y</strong> будет выполнена привязка
<strong>&lt;&lt;Paste&gt;&gt;</strong>, так как модификатор
<strong>Meta</strong> в физическом образце, связанном с
виртуальной привязкой, более конкретен, чем последовательность
&lt;<strong>Control-y</strong>&gt; для физического события.</p>
<p>Привязки к виртуальному событию можно создавать и до
определения самого события. На самом деле определение
виртуального события не является необходимым, например, на
платформах, где конкретное виртуальное событие может оказаться
бессмысленным или не генерируемым.</p>
<p>При изменении определения виртуального события в процессе
выполнения все окна немедленно переключаются на новое
определение. Если, в условиях предыдущего примера, выполнить
команды</p>
2015-10-19 13:27:31 +03:00
<pre>
bind &lt;Entry&gt; &lt;Control-y&gt; {}
event add &lt;&lt;Paste&gt;&gt; &lt;Key-F6&gt;
</pre>
<p>то поведение события изменится в двух направлениях. Во-первых,
всплывет подавленная привязка
<strong>&lt;&lt;Paste&gt;&gt;</strong>. Нажатие на клавиши
<strong>Control-y</strong> приведет теперь не к выполнению
привязки <strong>&lt;Control-y&gt;</strong>, а к выполнению
виртуального события <strong>&lt;&lt;Paste&gt;&gt;</strong>.
Во-вторых, нажатие на клавишу <strong>F6</strong> также приведет
к выполнению привязки <strong>&lt;&lt;Paste&gt;&gt;</strong>.
<p>Если <em>последовательность</em> не связана с данным
<em>виртуальным</em> событием в текущий момент, то она
игнорируется. Если аргумент <em>последовательность</em>
отсутствует, то из списка удаляются все последовательности
физических событий и данное <em>виртуальное</em> событие не
может быть более осуществлено.</p>
2015-10-19 13:27:31 +03:00
<pre>
<strong>event generate</strong> <em>окно событие параметр значение параметр значение ...</em>
2015-10-19 13:27:31 +03:00
</pre>
<p>Генерирует событие в окне и обеспечивает его обработку таким
образом, как если бы оно поступило из менеджера окон. Аргумент
<em>окно</em> задает имя пути окна, в котором будет
генерироваться событие; его значением может быть и идентификатор
окна (такой же, какой служит результатом команды <strong>winfo
id</strong>), если он относится к окну в текущем
приложении. Аргумент <em>событие</em> задает описание события,
например, в виде &lt;<strong>Shift-Button-2</strong>&gt; или
&lt;&lt;<strong>Paste</strong>&gt;&gt;. Аргумент
<em>событие</em> может принимать любое значение, допустимое для
аргумента <em>последовательность</em> команды
<strong>bind</strong>, за исключением того, что он должен
состоять из одного, а не из нескольких событий. Пары
<em>параметр-значение</em> можно использовать для установки
значений дополнительных параметров события, например, координат
курсора &quot;Мыши&quot; ниже (см. &quot;<a
href=event.html#ПОЛЯ_СОБЫТИЯ>ПОЛЯ СОБЫТИЯ</a>&quot;). Если
параметр <strong>-when</strong> не задан, то событие
обрабатывается немедленно; все программы обработки события будут
выполнены до завершения команды <strong>event
generate</strong>. В противном случае момент обработки
определяется значением параметра <strong>-when</strong>.
2015-10-19 13:27:31 +03:00
<pre>
<strong>event info</strong> &lt;&lt;<em>виртуальное</em>&gt;&gt;
2015-10-19 13:27:31 +03:00
</pre>
<p>Возвращает информацию о виртуальных событиях. Если аргумент
<strong>&lt;&lt;</strong><em>виртуальное</em><strong>&gt;&gt;</strong>
опущен, то возвращается список всех виртуальных событий,
определенных в текущий момент. Если аргумент
<strong>&lt;&lt;</strong><em>виртуальное</em><strong>&gt;&gt;</strong>
задан, то возвращаемое значение представляет собой список,
элементы которого являются последовательностями физических
событий, связанными с данным виртуальным событием; если
указанное виртуальное событие не определено, то команда
возвращает пустую строку.</p>
2015-10-19 13:27:31 +03:00
</body>
</html>