Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ОСПО.doc
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
910 Кб
Скачать
  1. Виды и стили элемента управления ComboBox.

Является комбинацией поля ввода и списка, характеризуется стилем и типом. Тип определяет является ли ComboBox раскрывающимся списком и/или имеет возможность редактирования.

В первом случае мы имеем возможность выбора только из существующих полей.

Тип ComboBox

Drop-Down List

Edit Control

Drop-Down ComboBox

+

+

Drop-Down ListBox

+

-

Simple ComboBox

-

+

Элемент управления COMBOBOX и его стили.

CBS_DROPDOWN

соответствует DropDown ComboBox

CBS_DROPDOWNLIST

соответствует DropDown ListBox

CBS_SIMPLE

соответствует Simple ComboBox

CBS_UPPERCASE

все элементы выполнены большими буквами

CBS_SORT

сортировка

CBS_NOINTEGRALHEIGHT

определяет автоматический выбор длины ниспадающего списка.

  1. Виды и стили элемента управления ListBox.

Элемент управления ListBox (далее – лист) предназначен для создания списка строк. Его можно использовать, например, для отображения имён файлов, каких-либо параметров или свойств, которые можно выбрать, используя мышку или клавиатуру. Выбранная строка подсвечивается, а родительскому окну посылается сообщение. Также можно использовать в листе горизонтальные и вертикальные полосы прокрутки для просмотра большого объёма данных, не помещающихся в окне листа. ListBox автоматически отображает или скрывает полосы прокрутки, когда это необходимо.

Создать этот элемент можно с помощью функций CreateWindow , которая используется также для создания множества других элементов управления и разных типов окон.

Стили элемента управления ListBox:

Стиль Описание

LBS_DISABLENOSCROLL……………….. Отображает выключенную вертикальную полосу прокрутки, когда лист не содержит достаточно элементов для прокрутки. Без этого стиля полосы прокрутки спрятаны, если лист не содержит достаточное количество элементов.

LBS_EXTENDEDSEL……………………… Позволяет выделять несколько элементов с помощью клавиши SHIFT и мыши или специальной комбинации клавиш.

LBS_HASSTRINGS………………………… Указывает на то, что лист содержит в качестве элементов строки. ListBox обслуживает память и адреса для строк так, чтобы приложение могло использовать сообщение LB_GETTEXT для получения конкретной строки. По-умолчанию, все листы, кроме родительских, имеют этот стиль. Вы также можете создавать родительские листы с этим стилем или без него.

LBS_MULTICOLUMN…………………….. Создаёт лист из нескольких колонок с горизонтальной прокруткой. Сообщение LB_SETCOLUMNWIDTH устанавливает ширину колонок.

LBS_MULTIPLESEL……………………………….. Даёт возможность выбрать любое количество строк. На строке устанавливается или снимается выделение, когда пользователь делает обычный или двойной щелчок на элементе листа.

LBS_NODATA……………………………………….. Чистый лист.

LBS_NOINTEGRALHEIGHT……………………… При создании списка его размер определяется равным размеру, который задан приложением. Обычно Windows задаёт размеры листа такими, чтобы он не отображал элементы частично.

LBS_NOREDRAW…………………………………… Если задан такой стиль, то при внесении изменений изображение элемента управления класса LISTBOX не изменится. Вы можете в любое время изменить этот стиль, послав сообщение WM_SETREDRAW.

LBS_NOSEL…………………………………………. Лист с таким стилем может отображать элементы, но они не могут быть выбраны.

LBS_NOTIFY………………………………………… .Если пользователь сделает обычный или двойной щелчок на строке списка этого стиля, то родительское окно получит сообщение.

LBS_OWNERDRAWFIXED………………………... За перерисовку содержимого списка этого стиля отвечает окно-владелец; все элементы списка имеют одинаковую высоту. Родительское окно получает сообщение WM_MEASUREITEM, когда создаётся лист, и сообщение WM_DRAWITEM, когда меняются координаты или размеры листа.

LBS_OWNERDRAWVARIABLE…………………... За перерисовку содержимого списка этого стиля отвечает окно-владелец; в отличие от стиля LBS_OWNERDRAWFIXED, элементы списка могут быть разной высоты. Родительское окно получает сообщение WM_MEASUREITEM для каждого элемента в combo box, когда создаётся лист, и сообщение WM_DRAWITEM, когда меняются координаты или размеры листа.

LBS_SORT…………………………………………… С этим стилем строки сортируются в алфавитном порядке.

LBS_STANDARD…………………………………….. Строки в элементе управления класса LISTBOX сортируются в алфавитном порядке. Когда пользователь делает обычный или двойной щелчок на строке, родительскому окну посылается сообщение. Элемент управления класса LISTBOX обладает вертикальной полосой прокрутки и рамками.

LBS_USETABSTOPS………………………………... Списку позволяется распознавать и отображать все символы табуляции при выводе строк. По умолчанию одной позиции табуляции соответствуют 32 единицы масштабирования. С помощью функции GetDialogBaseUnitsO приложение может получить величину текущей базовой единицы масштабирования в пикселях. Одна единица диалога по горизонтали равняется одной четвертой текущей базовой единицы масштабирования. Базовые единицы масштабирования вычисляются на основании высоты и ширины текущего системного шрифта.

LBS_WANTKEYBOARDINPUT…………………… Если пользователь нажимает клавишу и список этого стиля обладает фокусом ввода, то владелец списка получает сообщения WM_VKEYTOITEM и WM_CHARTOITEM.