599 lines
39 KiB
HTML
599 lines
39 KiB
HTML
<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
||
<html>
|
||
<head>
|
||
<title>listbox</title>
|
||
</head>
|
||
<body>
|
||
|
||
<h1>listbox</h1>
|
||
|
||
<p>Команда создает и управляет примитивами окон со списками.</p>
|
||
|
||
|
||
|
||
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
|
||
|
||
|
||
<pre>
|
||
<strong>listbox</strong> <em>имяПути</em> ?<em>параметры</em>?
|
||
</pre>
|
||
|
||
<h2><a name=СТАНДАРТНЫЕ_ПАРАМЕТРЫ></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>
|
||
|
||
<ul>
|
||
<li><strong>-background</strong></li>
|
||
<li><strong>-borderwidth</strong></li>
|
||
<li><strong>-cursor</strong></li>
|
||
<li><strong>-font</strong></li>
|
||
<li><strong>-foreground</strong></li>
|
||
<li><strong>-height</strong></li>
|
||
<li><strong>-highlightbackground</strong></li>
|
||
<li><strong>-highlightthickness</strong></li>
|
||
<li><strong>-relief</strong></li>
|
||
<li><strong>-selectbackground</strong></li>
|
||
<li><strong>-selectborderwidth</strong></li>
|
||
<li><strong>-setgrid</strong></li>
|
||
<li><strong>-takefocus</strong></li>
|
||
<li><strong>-width</strong></li>
|
||
<li><strong>-xscrollcommand</strong></li>
|
||
</ul>
|
||
|
||
<p>Подробное описание этих параметров приведено в разделе <a
|
||
href=options.html><strong></strong>options</a>.</p>
|
||
|
||
<h2><a name=ДОПОЛНИТЕЛЬНЫЕ_ПАРАМЕТРЫ_ПРИМИТИВА></a>ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА</h2>
|
||
|
||
<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>Задает желаемую высоту окна (число строчек текста в нем). Если
|
||
значение параметра неположительно, то высота окна выбирается
|
||
таким образом, чтобы в нем помещались все элементы списка.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-selectmode</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>selectMode</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>SelectMode</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает один из нескольких стилей управления выделением. Параметр может принимать произвольное значение, однако привязки по умолчанию предполагают, что его значение является одним из следующих: <strong>single</strong><strong>, browse, multiple</strong> или <strong>listbox</strong>. По умолчанию параметр имеет значение <strong>browse</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> Задает желаемую ширину окна (число символов в строчке текста в
|
||
нем). Если ширина символа в данном шрифте непостоянна, то для
|
||
перевода числа символов в единицы экрана используется ширина
|
||
символа "0". Если значение параметра неположительно, то ширина
|
||
окна выбирается таким образом, чтобы в нем помещались все
|
||
элементы списка.</p>
|
||
|
||
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
|
||
|
||
<p>Команда <strong>listbox</strong> создает новое окно (задаваемое
|
||
аргументом <em>имяПути</em>) и превращает его в примитив окна со
|
||
списком. Детали изображения кнопки, такие как ее цвет, шрифт,
|
||
текст и объемный вид, задаются с помощью описанных выше
|
||
дополнительных параметров. Команда <strong>listbox</strong>
|
||
возвращает аргумент <em>имяПути</em>. В момент выполнения этой
|
||
команды не должно существовать окна с именем <em>имяПути</em>,
|
||
но должен существовать его предок.</p>
|
||
|
||
<p>Окно со списком представляет собой примитив, в котором
|
||
выводятся строки элементы списка по одному на строчку окна. С
|
||
помощью описываемых ниже команд примитива в список можно
|
||
добавлять новые элементы или удалять элементы оттуда. Кроме
|
||
того, можно выделить один или несколько элементов, как описано
|
||
ниже. Экспорт выделенного текста (см. описание параметра
|
||
<strong>exportSelection</strong>) осуществляется по стандартному
|
||
протоколу X11 для выделений; выделения в поле ввода имеют тип
|
||
<strong>STRING</strong>. Значение строки выделения составляется
|
||
из выделенных элементов, разделенных символами перехода на новую
|
||
строчку.</p>
|
||
|
||
<p>Все элементы списка не обязательно выводятся в окне со списком
|
||
одновременно. Содержимое окна можно поменять с помощью
|
||
описываемых ниже команд. Окна со списком поддерживают прокрутку
|
||
в обоих направлениях с помощью стандартных параметров
|
||
<strong>xScrollCommand</strong> и
|
||
<strong>yScrollCommand</strong>. Кроме того, возможно
|
||
сканирование окон (см. описание ниже).</p>
|
||
|
||
<h2><a name=ИНДЕКСЫ></a>ИНДЕКСЫ</h2>
|
||
|
||
<p>Аргументами многих команд примитива окна со списком служат
|
||
индексы. Индекс задает положение конкретного элемента в окне со
|
||
списком. Он может иметь один из следующих видов:</p>
|
||
|
||
<dl>
|
||
<dt><em>число</em></dt>
|
||
|
||
<dd>Задает номер элемента в списке. Первый элемент имеет номер
|
||
0.</dd>
|
||
|
||
<dt><strong>active</strong></dt>
|
||
|
||
<dd>Задает элемент, на котором расположен курсор списка. Если
|
||
примитив находится в фокусе клавиатуры, то этот элемент
|
||
подчеркивается. Он устанавливается командой примитива
|
||
<strong>activate</strong>.</dd>
|
||
|
||
<dt><strong>anchor</strong></dt>
|
||
|
||
<dd>Задает опорную точку выделения, которую устанавливает
|
||
команда примитива <strong>selection anchor</strong>.</dd>
|
||
|
||
<dt><strong>end</strong></dt>
|
||
|
||
<dd>Указывает конец списка. Для большинства команд это последний
|
||
элемент списка, однако некоторые команды, такие как
|
||
<em>index</em> и <em>insert</em> считают его элементом,
|
||
следующим непосредственно за последним элементом списка.</dd>
|
||
|
||
<dt>@<em>x</em>,<em>y</em></dt>
|
||
|
||
<dd>Указывает элемент, накрывающий точку в окне со списком с
|
||
координатами (<em>x</em>,<em>y</em>) (заданными в пикселях). Если
|
||
заданная точка не накрывается ни одним элементом, то указывает
|
||
элемент, ближайший к этой точке.</dd>
|
||
</dl>
|
||
|
||
<p>Аргументы с именами <em>индекс</em>, <em>первый</em> и
|
||
<em>последний</em> в описываемых ниже командах примитива
|
||
представляют собой индексы в одной из описанных выше форм.</p>
|
||
|
||
<h2><a name=КОМАНДА_ПРИМИТИВА></a>КОМАНДА ПРИМИТИВА</h2>
|
||
|
||
<p>Команда <strong>listbox</strong> создает новую команду Tcl с
|
||
именем <em>имяПути</em>. С помощью этой команды можно выполнять
|
||
различные операции над примитивом. Ее общий вид</p>
|
||
|
||
<pre>
|
||
имяПути параметр ?арг арг ...?
|
||
</pre>
|
||
|
||
<p><em>Параметр</em> и <em>арг</em>ументы уточняют поведение
|
||
команды. Примитивы окна со списком допускает следующие формы
|
||
команды:</p>
|
||
|
||
<dl>
|
||
<dt><em>имяПути</em> <strong>activate</strong> <em>индекс</em></dt>
|
||
|
||
<dd>Делает активным элемент, указанный аргументом
|
||
<em>индекс.</em> Если значение аргумента <em>индекс</em>
|
||
выходит за пределы списка, то активным становится элемент,
|
||
ближайший к указанному. Если окно со списком находится в
|
||
фокусе ввода, то активный элемент в нем выделен
|
||
подчеркиванием, а доступ к нему осуществляется через индекс
|
||
<strong>active</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>bbox</strong> <em>индекс</em></dt>
|
||
|
||
<dd>Возвращает список из четырех элементов, описывающий клетку,
|
||
занимаемую текстом в элементе, указанном параметром
|
||
<em>индекс.</em> Первые два элемента списка задают x- и
|
||
y-координаты верхнего левого угла клетки (в пикселях по
|
||
отношению к примитиву), последние два элемента ширину и высоту
|
||
области (в пикселях). Если на экране не видна никакая часть
|
||
элемента или если индекс указывает на несуществующий элемент,
|
||
то команда возвращает пустую строку. Если же на экране видна
|
||
хотя бы часть элемента, то результатом выполнения команды
|
||
служит описание всей области, занимаемой элементом (в том
|
||
числе и его невидимой частью).</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>cget</strong> <em>параметр</em></dt>
|
||
|
||
<dd>Возвращает текущее значение параметра конфигурации с именем
|
||
параметр. Параметр может быть любым из параметров команды
|
||
<strong>listbox</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>configure</strong>
|
||
?<em>параметр</em>? ?<em>значение параметр значение ...</em>?</dt>
|
||
|
||
<dd>Запрашивает значения параметров конфигурации примитива или
|
||
изменяет их. Если <em>параметр</em> не указан, то возвращает
|
||
список, содержащий значения всех допустимых в
|
||
<em>имениПути</em> параметров (формат списка описан в
|
||
<strong>Tk_ConfigureInfo</strong>). Если <em>параметр</em>
|
||
задан, а его новое <em>значение</em> нет, то команда
|
||
возвращает часть полного списка, относящуюся к указанному
|
||
параметру. Если заданы одна или несколько пар
|
||
параметр-значение, то указанным <em>параметрам</em> примитива
|
||
присваиваются новые значения. В этом случае команда возвращает
|
||
пустую строку. Параметр может быть любым из параметров команды
|
||
<strong>listbox</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>curselection</strong></dt>
|
||
|
||
<dd>Возвращает список, состоящий из числовых значений индекса
|
||
всех выделенных элементов. Если ни один из элементов не выделен,
|
||
то возвращает пустую строку.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>delete</strong> <em>первый</em>
|
||
?<em>последний</em>?</dt>
|
||
|
||
<dd>Удаляет один или несколько элементов списка. Аргумент
|
||
<em>первый</em> является индексом первого, а аргумент
|
||
<em>последний</em> индексом последнего удаляемого элемента. По
|
||
умолчанию значение аргумента последний совпадает со значением
|
||
аргумента первый, т.е. удаляется один элемент.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>get</strong> <em>первый</em>
|
||
?<em>последний</em>?</dt>
|
||
|
||
<dd>Если аргумент <em>последний</em> не задан, то возвращает
|
||
содержимое элемента списка, заданного аргументом
|
||
<em>первый</em> (или пустую строку, если первый указывает на
|
||
несуществующий элемент). Если аргумент последний задан, то
|
||
команда возвращает список, элементами которого являются все
|
||
элементы окна между <em>первым</em> и <em>последним</em>
|
||
(включая оба эти элемента). Значением каждого из аргументов
|
||
первый и последний может быть любое допустимое значение
|
||
индекса.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>index</strong> <em>индекс</em></dt>
|
||
|
||
<dd>Команда возвращает числовое значение индекса, заданного
|
||
аргументом <em>индекс</em>. Если аргумент <em>индекс</em>
|
||
имеет значение <strong>end</strong>, то возвращаемое значение
|
||
равно числу элементов в списке (а не индексу последнего
|
||
элемента).</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>insert</strong> <em>индекс</em>
|
||
?<em>элемент элемент ...</em></dt>
|
||
|
||
<dd>Вставляет элементы непосредственно перед элементом, на
|
||
который указывает аргумент <em>индекс</em>. Если аргумент
|
||
<em>индекс</em> имеет значение <strong>end</strong>,
|
||
то новые элементы вставляются в конец списка. Команда
|
||
возвращает пустую строку.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>nearest</strong> <em>y</em></dt>
|
||
|
||
<dd>По заданному значению y-координаты в окне со списком
|
||
возвращает индекс ближайшего к этому значению (видимого)
|
||
элемента списка.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>scan</strong> <em>параметр
|
||
аргументы</em></dt>
|
||
|
||
|
||
<dd><p>Осуществляет сканирование окна со списком. В зависимости от
|
||
значения параметра может иметь две различные формы:</p>
|
||
|
||
<dl>
|
||
|
||
<dt><em>имяПути</em> <strong>scan mark</strong> <em>x y</em></dt>
|
||
|
||
<dd>Запоминает значение координаты x и текущее состояние
|
||
окна со списком; используется в сочетании с последующими
|
||
командами <strong>scan dragto</strong>. Обычно эта команда
|
||
связана с нажатием клавиши "Мыши" на
|
||
примитиве. Возвращает пустую строку.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>scan dragto</strong> <em>x y</em></dt>
|
||
|
||
<dd>Вычисляет разность между значением своих аргумента
|
||
<em>x</em> и <em>y</em> и значениями аргументов <em>x</em>
|
||
и <em>y</em> последней выполненной на данном примитиве
|
||
команды <strong>scan mark</strong>. Затем переносит
|
||
изображение примитива на расстояние, в 10 раз превышающее
|
||
вычисленную разность. Команда обычно связана с событиями
|
||
движения "Мыши" в примитиве и используется для
|
||
скоростного перетаскивания списка в окне. Возвращает
|
||
пустую строку.</dd>
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>see</strong> <em>индекс</em></dt>
|
||
|
||
<dd>Выравнивает список в окне так, чтобы элемент с индексом
|
||
<em>индекс</em> оказался видимым. Если этот элемент уже
|
||
является видимым, то команда не производит никаких
|
||
действий. Если указанный элемент находится возле края окна, то
|
||
при прокрутке списка элемент оказывается возле того же края; в
|
||
противном случае указанный элемент выводится в центре
|
||
окна.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>selection</strong> <em>параметр
|
||
аргумент</em></dt>
|
||
|
||
<dd><p>Производит размещение выделения в окне со
|
||
списком. Команда может иметь одну из описанных ниже
|
||
форм.</p>
|
||
|
||
<dl>
|
||
<dt><em>имяПути</em> <strong>selection anchor</strong>
|
||
<em>индекс</em></dt>
|
||
|
||
<dd>Устанавливает опорную точку выделения на элемент,
|
||
указанный аргументом <em>индекс</em>. Если <em>индекс</em>
|
||
указывает на несуществующий элемент, то опорным становится
|
||
элемент, ближайший к указанному. Опорная точка выделения
|
||
является фиксированным концом выделения при движении
|
||
"Мыши" с нажатой клавишей. На опорную точку выделения
|
||
указывает индекс <strong>anchor</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>selection clear</strong>
|
||
<em>первый</em> ?<em>последний</em>?</dt>
|
||
|
||
<dd>Отменяет выделение элементов между <em>первым</em> и
|
||
<em>последним</em>. Вне этого интервала выделение не
|
||
изменяется.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>selection includes</strong>
|
||
<em>индекс</em></dt>
|
||
|
||
<dd>Возвращает "1", если элемент, указанный
|
||
аргументом индекс, выделен, и "0" в противном
|
||
случае.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>selection set</strong>
|
||
<em>первый</em> ?<em>последний</em>?</dt>
|
||
|
||
<dd>Выделяет все элементы в промежутке между первым и
|
||
последним; на выделение вне указанного интервала команда
|
||
влияния не оказывает.</dd>
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>xview</strong> <em>аргументы</em></dt>
|
||
|
||
<dd><p>Используется для запроса горизонтального положения
|
||
информации, выведенной в окне примитива, и изменения этого
|
||
положения. Команда может иметь одну из следующих форм:</p>
|
||
|
||
<dl>
|
||
<dt><em>имяПути</em> <strong>xview</strong></dt>
|
||
|
||
<dd>Возвращает список, состоящий из двух элементов. Каждый
|
||
из элементов списка представляет собой вещественное число,
|
||
заключенное между нулем и единицей; эта пара чисел
|
||
описывает видимый в окне горизонтальный интервал. Так,
|
||
например, если первое число равно "2", а второе
|
||
"6", то 20% текста в окне со списком оказывается
|
||
невидимой слева от окна, в окне выводится 40% информации,
|
||
и еще 40% оказывается невидимой справа от окна. Те же
|
||
значения передаются полосе прокрутки через параметр
|
||
<strong>-xscrollcommand</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>xview</strong> <em>индекс</em></dt>
|
||
|
||
<dd>Переносит строку в поле ввода так, что самым левым
|
||
символом в окне становится символ, положение которого
|
||
указано аргументом индекс. Положения символов определяются
|
||
исходя из ширины символа <strong>0</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>xview moveto</strong>
|
||
<em>число</em></dt>
|
||
|
||
<dd>Передвигает область видимости так, что слева от окна
|
||
остается невидимой часть текста списка, указанная
|
||
аргументом <em>число</em>. <em>Число</em> должно быть
|
||
заключено между "0" и "1".</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>xview scroll</strong>
|
||
<em>количество что</em></dt>
|
||
|
||
<dd>Сдвигает выводимый в окне текст вправо или влево в
|
||
соответствии со значениями аргументов. <em>Количество</em>
|
||
должно быть целым числом, аргумент <em>что</em> может
|
||
принимать значения <strong>units</strong> или
|
||
<strong>pages</strong> или быть сокращением одного из этих
|
||
слов. Если аргумент <em>что</em> принимает значение
|
||
<strong>units</strong>, то сдвиг происходит на
|
||
<em>количество</em> символов средней ширины (ширины
|
||
символов <strong>0</strong>). Если значением аргумента
|
||
<em>что</em> является <strong>pages</strong>, то сдвиг
|
||
осуществляется на <em>количество</em> полных экранов. Если
|
||
<em>количество</em> отрицательно, то видимые символы
|
||
сдвигаются вправо, в противном случае влево.</dd>
|
||
</dl>
|
||
</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>yview</strong> <em>аргументы</em></dt>
|
||
|
||
<dd><p>Используется для запроса вертикального положения
|
||
информации, выведенной в окне примитива, и изменения этого
|
||
положения. Команда может иметь одну из следующих форм:</p>
|
||
|
||
<dl>
|
||
<dt><em>имяПути</em> <strong>yview</strong></dt>
|
||
|
||
<dd>Возвращает список, состоящий из двух элементов. Каждый
|
||
из элементов списка представляет собой вещественное число,
|
||
заключенное между нулем и единицей. Первый элемент списка
|
||
задает положение в списке первого видимого в окне элемента
|
||
(например, значение "0.5" указывает на середину
|
||
списка). Второй элемент указывает положение в списке
|
||
элемента, следующего непосредственно за последним видимым
|
||
в окне. Те же значения передаются полосе прокрутки через
|
||
параметр <strong>-xscrollcommand</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>yview</strong> <em>индекс</em></dt>
|
||
|
||
<dd>Переносит содержимое окна со списком таким образом,
|
||
чтобы элемент, заданный аргументом индекс, оказался в
|
||
первой строчке окна.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>yview moveto</strong>
|
||
<em>число</em></dt>
|
||
|
||
<dd>Переносит содержимое окна со списком таким образом,
|
||
чтобы элемент, заданный аргументом <em>число</em>,
|
||
оказался в первой строчке окна. <em>Число</em> должно быть
|
||
заключено между 0 и 1. 0 указывает на первый
|
||
элемент в списке, 0.33 указывает на элемент, отстоящий от
|
||
начала списка на одну треть, и т.д.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>yview scroll</strong>
|
||
<em>количество что</em></dt>
|
||
|
||
<dd>Сдвигает выводимый в окне текст вверх или вниз в
|
||
соответствии со значениями аргументов. <em>Количество</em>
|
||
должно быть целым числом, аргумент <em>что</em> может
|
||
принимать значения <strong>units</strong> или
|
||
<strong>pages</strong> или быть сокращением одного из этих
|
||
слов. Если аргумент <em>что</em> принимает значение
|
||
<strong>units</strong>, то сдвиг происходит на
|
||
<em>количество</em> строчек. Если значением аргумента
|
||
<em>что</em> является <strong>pages</strong>, то сдвиг
|
||
осуществляется на <em>количество</em> полных экранов. Если
|
||
<em>количество</em> отрицательно, то видимые символы
|
||
сдвигаются вниз, в противном случае вверх.</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
|
||
<h2><a name=ПАРАМЕТРЫ_ПО_УМОЛЧАНИЮ></a>ПАРАМЕТРЫ ПО УМОЛЧАНИЮ</h2>
|
||
|
||
<p>При создании окна со списком Tk автоматически создает параметры
|
||
класса, определяющие его поведение по умолчанию. Поведение окна
|
||
со списком в значительной степени определяется значением
|
||
параметра <strong>selectMode</strong>, задающим один из четырех
|
||
режимов работы с выделением.</p>
|
||
|
||
<p>В режиме выделения <strong>single</strong> или
|
||
<strong>browse</strong> допустимо выделение не более одного
|
||
элемента. В обоих режимах щелчок клавишей 1 "Мыши" на
|
||
элементе приводит к его выделению и отмене всех остальных
|
||
выделений. В режиме <strong>browse</strong> выделенный элемент
|
||
можно также перетащить с помощью клавиши 1 "Мыши".</p>
|
||
|
||
<p>В режимах выделения multiple или extended можно одновременно
|
||
выделить несколько элементов, не обязательно идущих в списке
|
||
подряд. В режиме multiple щелчок клавиши 1 "Мыши" на
|
||
элементе переключает состояние его выделенности, не влияя на
|
||
выделение остальных элементов. В режиме extended нажатие клавиши
|
||
на элементе выделяет его, отменяет выделение всех остальных
|
||
элементов и устанавливает опорную точку выделения на элемент под
|
||
курсором "Мыши"; если при этом тащить "Мышь"
|
||
с нажатой клавишей <strong>1</strong>, то выделение
|
||
распространится на все элементы между опорным и элементом,
|
||
находящимся под сдвинувшимся курсором "Мыши".</p>
|
||
|
||
<p>В большинстве случаев для одиночных выделений используется режим browse, а для кратных режим extended; остальные режимы оказываются полезными в некоторых особых ситуациях.</p>
|
||
<p>Помимо описанного выше поведения привязки по умолчанию задают следующие дополнительные характеристики поведения примитива:</p>
|
||
|
||
<p>В режиме <strong>extended</strong> выделенную область можно
|
||
изменить нажатием клавиши 1 при нажатой клавише
|
||
<strong>Shift</strong>; при этом выделенной становится вся
|
||
область между опорной точкой и элементом под курсором
|
||
"Мыши".</p>
|
||
|
||
<p>В режиме <strong>extended</strong> нажатие клавиши 1 при
|
||
нажатой клавише <strong>Control</strong> начинает выполнение
|
||
операции переключения: опорная точка устанавливается на элемент
|
||
под курсором "Мыши", а состояние его выделения
|
||
меняется на противоположное. Выделение остальных элементов не
|
||
изменяется. Если тащить "Мышь" с нажатой клавишей 1,
|
||
то состояние выделения всех элементов между опорной точкой и
|
||
курсором "Мыши" меняется на состояние выделения
|
||
опорного элемента; выделение остальных элементов не
|
||
изменяется.</p>
|
||
|
||
<p>Если "Мышь" сдвигается с окна со списком при нажатой
|
||
клавише 1, то информация в окне прокручивается в противоположном
|
||
направлении. Прокрутка продолжается до тех пор, пока либо
|
||
"Мышь" не вернется в область окна, либо будет
|
||
достигнут конец списка.</p>
|
||
|
||
<p>Для прокрутки можно использовать клавишу 2
|
||
"Мыши". Если ее нажать и протащить "Мышь" по
|
||
списку, то содержимое списка будет прокручиваться в направлении
|
||
движения "Мыши".</p>
|
||
|
||
<p>При нажатии на клавиши <strong>Up</strong> или
|
||
<strong>Down</strong> курсор окна (активный элемент)
|
||
передвигается на одну строчку вверх или вниз. В режиме
|
||
<strong>browse</strong> или <strong>extended</strong> новый
|
||
активный элемент оказывается выделенным, а выделение всех
|
||
остальных элементов отменяется. В режиме
|
||
<strong>extended</strong> новый активный элемент становится
|
||
опорной точкой выделения.</p>
|
||
|
||
<p>В режиме <strong>extended</strong> клавиши
|
||
<strong>Shift-Up</strong> и <strong>Shift-Down</strong>
|
||
передвигают курсор окна на одну строчку вверх или вниз и
|
||
расширяют область выделения новым активным элементом подобно
|
||
тому, как это делает клавиша 1 "Мыши".</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Left</strong> или
|
||
<strong>Right</strong> приводит к перемещению курсора ввода на
|
||
ширину символа <strong>0</strong> влево или вправо.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Control-Left</strong> и
|
||
<strong>Control-Right</strong> приводит к прокрутке списка на
|
||
ширину окна, также, как и нажатие на клавиши
|
||
<strong>Control-Prior</strong> и
|
||
<strong>Control-Next</strong><strong>.</strong></p> <p>Нажатие
|
||
на клавиши <strong>Prior</strong> и <strong>Next</strong>
|
||
приводит к прокрутке списка на одну страницу (на высоту окна)
|
||
вверх или вниз.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Home</strong> и <strong>End</strong>
|
||
прокручивает список горизонтально до его левого или правого края
|
||
соответственно.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Control-Home</strong> устанавливает
|
||
курсор окна на первый элемент списка, выделяет этот элемент и
|
||
отменяет выделение всех остальных элементов.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Control-End</strong> устанавливает
|
||
курсор окна на последний элемент списка, выделяет этот элемент и
|
||
отменяет выделение всех остальных элементов.</p>
|
||
|
||
<p>В режиме <strong>extended</strong> нажатие на клавиши
|
||
<strong>Control-Shift-Home</strong> расширяет выделение до
|
||
первого элемента в списке, а на клавиши
|
||
<strong>Control-Shift-End</strong> до последнего элемента в
|
||
списке.</p>
|
||
|
||
<p>В режиме <strong>multiple</strong> нажатие на клавиши
|
||
<strong>Control-Shift-Home</strong> устанавливает курсор окна на
|
||
первый элемента в списке, а на клавиши
|
||
<strong>Control-Shift-End</strong> на последний элемент в
|
||
списке.</p>
|
||
|
||
<p>Клавиши <strong>пробела</strong> и <strong>Select</strong>
|
||
выделяют активный элемент (курсор окна), как если бы на этом
|
||
элементе была нажата клавиша1 "Мыши".</p> <p>В режиме
|
||
<strong>extended</strong> нажатие на клавиши
|
||
<strong>Control-Shift-пробел</strong> и
|
||
<strong>Shift-Select</strong> расширяет выделение до активного
|
||
элемента, как если бы на этом элементе была нажата клавиша
|
||
<strong>1</strong> "Мыши" при нажатой клавише
|
||
<strong>Shift</strong>.</p>
|
||
|
||
<p>В режиме <strong>extended</strong> нажатие на клавиши
|
||
<strong>Escape</strong> отменяет самое последнее выделение и
|
||
восстанавливает предыдущее состояние выделение всех элементов в
|
||
области выделения.</p>
|
||
|
||
<p><strong>Control-/</strong> выделяет все элементы окна.</p>
|
||
|
||
<p><strong>Control-\</strong> приводит к отмене текущего
|
||
выделения (за исключением режима <strong>browse</strong>, где
|
||
эта команда не приводит ни к какому результату).</p>
|
||
|
||
<p>Клавиша <strong>F16</strong>, на многих станциях Sun
|
||
обозначенная <strong>Copy</strong>, (или
|
||
<strong>Meta-w</strong>) копирует выделение в примитиве в
|
||
карман.</p>
|
||
|
||
<p>Определяя новые параметры для отдельных примитивов или
|
||
переопределяя параметры класса, поведение окна со списком можно
|
||
изменить.</p>
|
||
|
||
</body>
|
||
</html>
|
||
|
||
|
||
|