
- •Когда используется компонент ImageList? Как в процессе проектирования загружаются изображения? Какие свойства имеют изображения?
- •Приведите примеры иерархических данных. Какие компоненты способны отображать такие данные и в каком виде?
- •Как осуществляется доступ к отдельным узлам дерева?
- •Как проектировать дерево?
- •Какие свойства и как можно указать для каждого нового узла дерева?
- •Расскажите о формировании дерева во время выполнения приложения.
- •Как узнать число узлов дерева, управляемых данным узлом?
- •Какое свойство компонента TreeView указывает выделенный узел?
- •Какие события происходят при выделении узла дерева? Какие параметры передаются в обработчики этих событий?
- •Какие события компонента TreeView связаны с развертыванием и свертыванием узлов? Какие параметры передаются в обработчики этих событий?
- •Как используются обработчики событий«нажать/отжать клавишу» для работы с деревом?
- •Что представляет собой компонент StatusBar? Какие возможности предоставляют его свойства?
- •Как задать свойства панелей?
- •Как занести в панель текст в процессе проектирования и изменять его программно во время выполнения?
- •На примере расскажите о применении технологии Drag&Drop.
- •Какие свойства, общие для всех визуальных компонентов, связаны с процессом перетаскивания?
- •Какие события и какой метод связаны с процессом перетаскивания?
- •Расскажите о назначении компонента ListView.
- •Расскажите о свойствах компонента ListView. Как пользоваться редактором элементов ListView? Редактором заголовков?
- •Расскажите об использовании компонента ListView в процессе проектирования.
- •Как с помощью меню можно изменять вид списка в окне ListView и перемещать пиктограммы?
- •Как упорядочить расположение пиктограмм?
Когда используется компонент ImageList? Как в процессе проектирования загружаются изображения? Какие свойства имеют изображения?
Список изображений – компонент ImageList (находится на странице Win32 библиотеки компонентов) представляет собой набор изображений одинаковых размеров (например, пиктограмм), на которые можно ссылаться по индексам, начинающимся с нуля. Во многих компонентах, в том числе и в компонентах отображения иерархических данных, имеются свойства, представляющие собой ссылки на компонент ImageList.
Изображения в компонент ImageList могут быть загружены в процессе проектирования с помощью редактора списков изображений. Окно редактора вызывается двойным щелчком на компоненте ImageList или щелчком правой кнопки мыши и выбором команды контекстного меню Редактор ImageList. В окне редактора можно добавить в списки изображения (кнопка Добавить), удалить изображение из списка кнопкой Удалить, очистить весь список кнопкой Очистить.
При добавлении изображения в список, которое начинается с нажатия кнопки Добавить, открывается окно открытия файлов изображений, в котором можно выбрать нужный файл.
Следует помнить, что размер всех изображений в списке должен быть одинаковым. Как правило, это размер, используемый для пиктограмм в меню, списках, кнопках. При добавлении в список изображений для кнопок надо иметь в виду, что они часто содержат не одно, а два и более изображений. В этих случаях после выбора имени файла изображений при щелчке на кнопке Открыть задается вопрос: “Bitmap dimensions for … are greater then imagelist dimensions. Separate into … separate bitmaps?” (“Размерность изображения … больше размерности списка. Разделить на … отдельные изображения?”). Если ответить отрицательно, то все изображения уменьшатся в горизонтальном размере и лягут как одно изображение. Использовать его в дальнейшем будет невозможно. Поэтому на заданный вопрос надо ответить положительно. Тогда загружаемая битовая матрица автоматически разделится на отдельные изображения, а затем те из них, которые не нужны, удаляют.
Каждое загруженное в список изображение получает индекс. Именно на эти индексы впоследствии можно ссылаться в соответствующих свойствах разделов меню, списков, кнопок и т.д., когда надо загрузить в них то или иное изображение. Чтобы изменить последовательность изображений в списке, перемещают изображение мышью на новое место.
В редакторе списков изображений, выделив то или иное изображение, можно установить его свойства: Прозрачный цвет и Цвет за. Для пиктограмм эти свойства устанавливаются в clNone.
Приведите примеры иерархических данных. Какие компоненты способны отображать такие данные и в каком виде?
Иерархическими данными могут быть структура некоторого учреждения, структура сложного проекта, заголовки документов, файлов или каталогов на диске и т.п. Такую информацию способны отображать следующие компоненты:
TreeView (окно дерева данных) |
Win32 |
Просмотр структуры иерархических данных в виде дерева в стиле Windows 95/98/2000 |
Outline (окно дерева данных) |
Win3.1 |
Просмотр структуры иерархических данных в виде дерева в стиле Windows 3.x |
ListView (список данных в стиле Windows 95) |
Win32 |
Отображение в стиле папок Windows списков в виде колонок или пиктограмм |
Компоненты TreeView и Outline служат для отображения иерархических данных в виде дерева, в котором пользователь может выбрать нужный ему узел или узлы. С каждым узлом дерева могут быть связаны некоторые данные. Возможности компонента TreeView несколько шире, чем компонента Outline.