На этом шаге мы рассмотрим блоки списка.
Список - это управляющий элемент, содержащий прямоугольную область со списком текстовых строк. Обычно пользователь может просматривать то, что выводится в списке, и выбирать один или более элементов. Список посылает порождающему окну сообщение о выборе элемента (элементов). Списки часто выводятся в диалоговом окне File Open (Открытие файла).
Если размер списка элементов превышает длину списка, вы можете добавить в список полосу прокрутки.
Кроме других описанных ранее параметров диалоговое окно List Box Style имеет параметры Owner Drawing и List Box.
Рис.1. Диалоговое окно List Box Style
Параметр Owner Drawing (Отображение пользователя) определяет, будет ли содержащийся в блоке список отображаться самим списком или прикладной программой. Выберите атрибуты из следующей таблицы:
Параметр | Описание |
---|---|
Not Owner Draw (Не пользовательское отображение) | Отображением списка управляет сам список. |
Fixed (Фиксированный) | Прикладная программа отображает список в ответ на сообщение WM_DRAWIТЕМ. Прикладная программа отвечает также на сообщение WM_COMPAREITEM, WM_DELETEITEM, WM_MEASUREITEM. Блок списка управляет передачей сообщения WM_MEASUREITEM прикладной программе только когда блок списка первоначально отображается, фиксируя высоту элемента блока списка. |
Variable (Переменный) | Прикладная программа отображает блок списка в ответ на сообщение WM_DRAWIТЕМ. Прикладная программа отвечает также на cообщение WM_COMPAREITEM, WM_DELETEITEM, WM_MEASUREITEM. Блок списка управляет передачей сообщения WM_MEASUREITEM прикладной программе для каждого элемента списка. Каждый элемент списка может иметь различную высоту. |
Has Strings (Имеет строки) | Если вы выбрали параметр Fixed или Variable блок списка сохраняет текст каждого элемента списка в сообщении LB_INSERTSTRING или LB_ADDSTRING. Блок списка может также получать элементы списка из сообщения LB_GETTEXT. |
Параметры списка позволяют вам выполнить его дальнейшее определение. Выберите один иди более параметров из следующей таблицы:
Параметр | Описание |
---|---|
Notify (Уведомление) | Когда пользователь щелкает на элементе списка кнопкой мыши, посылает порождающему окну сообщение ввода (по умолчанию). |
Sort (Сортировка) | Сортирует список в алфавитном порядке. |
Multiple Select (Множественный выбор) | Позволяет пользователю выбирать более одного элемента за один раз. Пользователь может также включать и выключать отдельные элементы. |
Don't Redraw (Не нужно повторного отображения) | Предотвращает повторное отображение блока списка при его изменении. |
Tab Stops (Позиции табуляции) | Организует информацию в блоке списка по столбцам. По умолчанию ширина столбца равна 32 диалоговым единицам или 8 символам. Вы можете для форматирования текста использовать символы Tab (\х09). (Если вы хотите изменить ширину столбца, прикладная программа устанавливает свои собственные позиции табуляции с помощью сообщения LB_SETTABSTOPS.) |
Integral Height (Полная высота) | Приводит к тому, что во время выполнения приложения каждый элемент списка будет виден целиком (по умолчанию). Если параметр Integral Height установлен, и размер списка нужно изменить, чтобы вывести элементы полностью, блок списка уменьшается в размере. Например, во время выполнения полностью выводятся три элемента, но еще один элемент вмещается не полностью, то блок списка уменьшится, так что выводиться будут только три элемента. |
Multi Column (Несколько столбцов) | Позволяет пользователю горизонтально прокручивать блок списка для работы с несколькими столбцами. Если вы включите данный параметр, прикладная программа должна передать сообщение LB_SETCOLWIDTH, чтобы установить ширину столбца в элементах изображения. |
Pass Keyboard Input (Передача ввода с клавиатуры) | Передает то, что пользователь набирает на клавиатуре. |
Expend Select (Расширенный выбор) | Когда данный параметр используется для списка с множественным выбором, данный атрибут модифицирует характер выделения пользователем более одного элемента в списке. |
На следующем шаге мы рассмотрим строки редактирования.