(с маскируемым цветом)
function ResourceLoad(ResType: TResType;
Name: string; MaskColor: TColor): Boolean; Загрузка изображения из ресурса программы
под названием Name. В параметре ResType указывается тип ресурса, в параметре MaskColor
— прозрачный цвет
Из-за ошибки в библиотеке Windows Comctl32.dll на компьютерах, где установлены системы Windows с разными версиями этой библиотеки, в случае формирования списка на этапе проектирования данный компонент может работать некорректно. Поэтому лучше загружать изображения в список динамически. Это можно сделать следующим образом.
var В: TBitmap;
. . .
В := TBitmap.Create;
В.LoadFromFile('tmp.bmp');
Imagelist1.AddMasked(В, clwnite);
Данный компонент удобен, во-первых, тем, что позволяет с помощью метода Draw выводить на экран изображения с прозрачными областями, которые легко формируются или задаются, а во-вторых, элементы списка изображений активно применяются во многих других компонентах Delphi 7, например при создании списков элементов, деревьев и т. п.
1.4. Компонент Текстовый редактор (TRichEdit)
Текстовый редактор представляет собой стандартный элемент управления [цп Windows Rich text edit control (Область форматирования текста), выполненный в виде компонента Delphi 7 (как и большинство других элементов управления Windows). По сравнению с компонентом ТМето он обладает расширенными возможностями, такими как форматирование отдельных абзацев текста, поддержка формата RTF и другими.
После размещения на форме данный компонент готов к работе. В свойстве Lines (тип TStrings) можно указать начальное содержимое панели редактора.
Основная особенность данного компонента — это возможность форматирования отдельных абзацев. Такое форматирование выполняется на основе двух свойств компонента: Paragraph, определяющего характеристики текущего абзаца текста, и SeLAttributes, определяющего характеристики выделенного текста.
Свойство Paragraph имеет тип TParaAttributes.
Свойство SeLAttributes имеет тип TTextAttributes, состоящий, в свою очередь, из свойств, характерных для класса TFont: CharSet (набор символов), Color (цвет), Height (высота), Name (имя), Pitch (фиксированная/переменная ширина), Size (размер), Style (стиль).
Дополнительное подсвойство Protected, имеющее тип Boolean, позволяет сделать выделенный текст недоступным для редактирования.
Получить позицию курсора поможет метод GetCaretPos, скопировать выделенный текст в переменную — метод GetSelText. Компонент TRich Edit наследует также большинство методов, связанных с выделением текста и работой с буфером данных, от класса TCustomEdit, на основе которого создан и ранее рассмотренный компонент ТМето.
Возможности данного компонента продемонстрируем на следующем примере. На форме имеется панель редактора и две кнопки. По щелчку на первой выделенный текст выравнивается по центру и оформляется как список (с маркером в начале строки). По щелчку на второй кнопке выделенный текст становится полужирным, увеличивается в размере, оформляется шрифтом Courier и красным цветом.
В программе-самоучителе в примере использования данного компонента в него загружается файл RTF из папки программы.
1.5. Компонент Движок (TTrackBar)
Движок обычно применяется там, где надо в визуальном режиме выставить с помощью мыши какое либо приближенное значение, что выполняется перетаскиванием движка по шкале. В старых версиях Windows для этого использовались компоненты типа полос прокрутки. Движок стал стандартным элементом управления в 32-разрядных версиях Windows.
Внешний вид движка настраивается с помощью следующих свойств
Свойства компонента TTrackBar
Свойство Назначение
Frequency Частота засечек
Min Мах Минимальная и максимальная допустимые границы
Orientation Ориентация: горизонтальная (значение trHorizontal) или вертикальная
(значение trVertical)
SelStart SelEnd Начало и конец «оптимального» диапазона в рамках границ Min/Max по
аналогии с приборами управления. Область оптимального диапазона выделяется дополнительными
засечками и другим цветом
SliderVisible Видимость движка
ThumbLength Толщина полосы движка в пикселах
TickMarks Положение засечек. Возможные значения: tmBottomRight (снизу); tmTopLeft
(сверху); tmBoth (с обеих сторон)
TickStyle Способ отображения засечек на движке. Возможные значения:
В программе-самоучителе в примере использования данного компонента при перемещении движка его позиция отображается на надписи сверху.
1.6. Компонент Индикатор (TProgressBar)
Индикаторы активно применяются во многих программах для отображения сведений о ходе длительного процесса (например, процесса инсталляции).
Свойства Min, Max, Position, Orientation аналогичны свойствам компонента TTrackBar. Необходимо также отметить свойство Smooth. Если оно имеет значение True, то в полосе заполнения (отсчет в ней ведется слева направо) отображается сплошная линия, в противном случае — сегментированная.
В программе-самоучителе в примере использования данного компонента при нажатии на кнопку происходит плавное заполнение движка, количество процентов отображается сверху.
1.7. Компонент Счетчик (TUpDown)
Данный элемент управления используется, как правило, в связке с другими элементами. Он дает возможность изменять числовые величины (например,в текстовом поле) с помощью кнопок со стрелками и курсорных клавиш. При этом можно задать допустимые границы этих величин.
Текущее значение счетчика хранится в свойстве Position, а допустимые границы — в свойствах Min и Мах. Свойство ArrowKeys разрешает или запрещает трактовать нажа¬тия курсорных клавиш как команды изменения значения. Свойство Increment определяет шаг изменения значения свойства Position. Если свойство Thousands имеет значение True, то каждые три цифры в элементе управления, связанном с данным объектом, отделяются запятой.
Допускается циклическое изменение значения свойства Position. Если значение свойства Wrap равно true, то после превышения свойством Position максимального предела Мах оно получает значение Min и наоборот.
Чаще всего данный компонент используют совместно с компонентом TEdit. Для этого на форме размещают компонент TEdit и в раскрывающемся списке его свойства Associate (Ассоциировать) выбирают объект UpDownl, который в результате автоматически присоединяется к полю.
После этого программу можно откомпилировать и запустить. Теперь при щелчках на стрелках объекта UpDownl или при нажатии курсорных клавиш, когда фокус ввода установлен на текстовом поле Editl, содержимое последнего будет меняться, отображая значение, хранящееся в свойстве Position.
В программе-самоучителе в примере использования данного компонента при нажатии на кнопку вверх значение числа над ним увеличивается.
1.8. Компонент Горячая клавиша (THotKey)
Данный весьма полезный компонент позволяет запросить у пользователя определенную «горячую» комбинацию клавиш, которая в дальнейшем будет использована для вызова часто выполняемого действия.
При создании экземпляра данного компонента предварительно надо определить «запрещенные» клавиши, нажатие которых одновременно с «горячей» комбинацией не учитывается. Допустим, что разработчика интересуют только комбинации двух
клавиш: обычной алфавитно-цифровой и управляющей CTRL. Тогда с помощью Инспектора объектов надо в свойстве InvalidKeys установить значения всех под-свойств, за исключением hcCtrl, равным True. Значения подсвойств, указанных ниже, используются и в других свойствах данного компонента.
Значение Назначение
hcNone Нажатие обычных клавиш без использования управляющих
не допускается
hcShift Клавиша SHIFT
hcCtrl Клавиша CTRL
hcAlt Клавиша ALT
hcShiftCtrl Клавиши SHIFT+CTRL
hcShiftAlt Клавиши SHIFT+ALT
hcCtrlAlt Клавиши CTRL+ALT
hcShiftCtrlAlt Клавиши SHIFT+CTRL+ALT
hkExt Клавиша EXTRA
В свойстве Modifiers задаются допустимые управляющие клавиши.
Когда программа с настроенным компонентом THotKey запущена, при установке курсора в поле этого компонента и нажатии допустимой комбинации клавиш выводится описание этой комбинации.
1.9. Компонент Анимация AVI (TAnimate)
Данный компонент позволяет организовать на форме небольшую анимацию — воспроизвести клип в формате А VI (Audio Video Interleaved, расширение файла .AVI) без воспроизведения звука.
В зависимости от цели применения компонент TAnimate можно настроить заранее, на этапе проектирования, или динамически, во время работы программы.
Загрузить клип можно, обратившись к свойству FileName, в котором указывается имя файла .AVI, либо указав в свойстве CommonAVI один из следующих стандартных клипов Windows.
Имя клипа Содержание
aviNone Клип указан в свойстве FileName
aviFindFolder - Поиск папки
aviFindFile Поиск файла
aviFindComputer Поиск компьютера
aviCopyFiles Копирование файлов
aviCopyFile Копирование файла
aviRecycleFile Перемещение файла в корзину
aviEmptyRecycle Очистка корзины
aviDeleteFile Удаление файла
__________________________________________________
Стандартные клипы Windows имеют различный размер, поэтому для свойства AutoSize надо задать значение True. Свойство Transparent определяет, будет ли клип прозрачным или используется фоновый цвет.
Перед запуском клипа его надо открыть, для чего в свойство Open записывается значение True. При этом выполняется загрузка клипа в память и подготовка его к воспроизведению.
В программе-самоучителе в примере использования данного компонента при нажатии на кнопку проигрывается анимация.