
- •Часть II
- •Главные составные части среды программирования
- •Формы, модули
- •Интеллектуальный редактор
- •Палитра Компонент
- •Дополнительные элементы
- •Структура проекта
- •Структура модуля
- •Проект Delphi
- •Стандартные компоненты
- •Свойства формы
- •События формы
- •Создание форм разного вида
- •Конструирование меню
- •Компоненты
- •Общие принципы создания меню
- •Пункты меню
- •TMainMenu - компонент
- •Основные свойства tMainMenu
- •Основные методы tMainMenu
- •События tMainMenu
- •TMenuItem - класс
- •Основные свойства tMenuItem
- •Основные методы tMenuItem
- •События tMenuItem
- •Рисование и закраска Графические компоненты
- •Свойство объектов Canvas
- •Полный список методов tCanvas
- •Основные события tCanvas
- •Объект tPaintBox
- •TImage - компонент
- •TShape - компонент
- •Файлы и устройства ввода/вывода
- •Использование файловых переменных. Типы файлов
- •Операции ввода/вывода
- •Процедуры и функции для работы с файлом
- •Контроль ошибок ввода/вывода
- •Атрибуты файла. Поиск файла
- •Базовые классы tStream и tHandleStream
- •Свойства и методы класса Tstream
- •Класс tFileStream
- •Класс tMemoryStream
- •Класс tStringStream
- •Оповещение об изменениях в файловой системе
- •Компоненты, используемые для создания баз данных
- •Открытие и закрытие DataSet
- •Работа с Данными
- •Использование SetKey для поиска в таблице
- •Использование фильтров для ограничения числа записей в DataSet
- •Теория ole
- •Ole Контейнер Основные свойства и методы компонента OleContainer.
- •Работа с ms Office в Delphi.
- •Объекты ms Word
- •Свойства и методы объекта Selection
- •Коллекция объектов Shapes
- •Объекты ms Excel
- •Создание объекта ExceLApplication, запуск и визуализация окна приложения
- •Работа с листами рабочей книги
- •Программирование диаграмм Excel в Delphi
- •Коллекция Charts, размещение диаграммы и исходных данных
- •Тип диаграммы
Полный список методов tCanvas
Метод Описание
Arc Рисует дугу окружности или эллипса
BrushCopy Копирует часть изображения битовой матрицы на данную канву, заменяя указанный цвет в изображении на значение, установленное для кисти канвы
Chord Рисует замкнутую фигуру, ограниченную дугой окружности или эллипса и хордой
CopyRect Копирует часть изображения с другой канвы на данную
Draw Рисует графическое изображение в указанную позицию канвы
Draw FocusRect Рисует изображение прямоугольника в виде, используемом для отображения рамки фокуса, операцией XOR
Ellipse Рисует окружность или эллипс
FillRect Заполняет указанный прямоугольник канвы, используя текущее значение кисти Brush
FloodFill Закрашивает текущей кистью замкнутую область канвы, определенную цветом
FrameRect Рисует на канве текущей кистью прямоугольную рамку
LineTo Рисует на канве прямую линию, начинающуюся с текущей позиции пера и кончающуюся указанной точкой
Lock Блокирует канву, не разрешая другим нитям многопоточного приложения рисовать на ней
MoveTo Изменяет текущую позицию пера на заданную, ничего не рисуя
Pie Рисует сектор окружности или эллипса
Polygon Рисует замкнутую фигуру с кусочно-линейной границей
Polyline Рисует кусочно-линейную кривую
Rectangle Рисует прямоугольник
RoundRect Рисует прямоугольник со скругленными углами
StretchDraw Рисует графическое изображение в указанную прямоугольную область канвы, подгоняя размер изображения под заданную область
TextExtent Возвращает длину и высоту в пикселях текста, который предполагается написать на канве текущим шрифтом
TextHeight Возвращает высоту в пикселях текста, который предполагается написать на канве текущим шрифтом
TextOut Пишет указанную строку текста на канве, начиная с указанной позиции
TextRect Пишет указанную строку текста на канве, начиная с указанной позиции и усекая текст, выходящий за пределы указанной прямоугольной области
TextWidth Возвращает длину в пикселях текста, который предполагается написать на канве текущим шрифтом
TryLock Блокирует канву, если она не была блокирована, не разрешая другим нитям многопоточного приложения рисовать на ней
Unlock Уменьшает на единицу значение свойства LockCount, способствуя тем самым разблокированию канвы, когда LockCount станет равным 0
Свойства пера:
Свойство Color определяет цвет фона компонента. Значение цвета может задаваться как значение, определяющее интенсивности красного, зеленого и синего цветов в формате RGB (см. раздел TColor), или равным одной из перечисленных ниже предопределенных в Delphi констант.
Константа Значение цвета
clBlack Черный
clMaroon Темно-бордовый
clGreen Зеленый
clOlive Оливково-зеленый
clNavy Темно-синий
clPurple Пурпурный
clTeal Морской воды
clGray Серый
clSilver Серебряный
clRed Красный
clLime Лимонно-зеленый
clBlue Синий
clYellow Желтый
clFuchsia Сиреневый
clAqua Голубой
clWhite Белый
clBackground Текущий цвет фона стола Windows
clScrollBar Текущий цвет полос прокрутки
clActiveCaption Текущий цвет фона полосы заголовка в активном окне
clInactiveCaption Текущий цвет фона полосы заголовка в неактивном окне
clMenu Текущий цвет фона меню
clWindow Текущий цвет фона окон
clWindowFrame Текущий цвет рамок окон
clMenuText Текущий цвет текста меню
clWindowText Текущий цвет текста окон
clCaptionText Текущий цвет текста заголовка в активном окне
clActiveBorder Текущий цвет бордюра активного окна
clInactiveBorder Текущий цвет бордюра неактивного окна
clAppWorkSpace Текущий цвет рабочей области приложений
clHighlight Текущий цвет фона выделенного текста
clHightlightText Текущий цвет выделенного текста
clBtnFace Текущий цвет поверхности кнопок
clBtnShadow Текущий цвет теней, отбрасываемых кнопками
clGrayText Текущий цвет текста недоступных элементов
clBtnText Текущий цвет текста кнопок
clInactiveCaption
Text Текущий цвет текста заголовка в неактивном окне
clBtnHighlight Текущий цвет выделенной кнопки
cl3DDkShadow Цвет темных теней трехмерных элементов; только для Windows 95 или NT 4.0
cl3DLight Светлый цвет на краях освещенных трехмерных элементов; только для Windows 95 или NT 4.0
clInfoText Цвет текста советов; только для Windows 95 или NT 4.0
clInfoBk Цвет фона советов; только для Windows 95 или NT 4.0
Первая часть этих констант соответствует определенным цветам. А вторая часть определяется той схемой цветов, которую установил пользователь в Windows. Пользователь может менять эту схему с помощью Панели Управления Windows. Таким образом, эти цвета могут изменяться от системы к системе. Например, clBtnFace может соответствовать серому цвету в одной схеме и желтовато-коричневому в другой.
Как правило, лучше использовать в приложении эти системно-зависимые цвета. Тогда ваше приложение не будет выбиваться из общей гаммы цветов, на которую настроился пользователь.
Если свойство ParentColor компонента установлено в true (это делается по умолчанию), то цвет фона данного компонента определяется свойством Color контейнера, содержащего данный компонент. Это позволяет автоматически согласовывать цвета компонентов, содержащиеся в одной области окна. Как только вы задаете в Инспекторе Объектов или программно значение Color, свойство ParentColor переключается в false.
Свойство пера Mode определяет, каким образом взаимодействуют цвета пера и канвы. Выбор значения Mode позволяет получать различные эффекты.
Возможные значения Mode:
Режим Цвет пикселя
pmBlack Всегда черный
pmWhite Всегда белый
pmNop Неизменный
pmNot Инверсный по отношению к цвету фона канвы
pmCopy Цвет, указанный в свойстве Color пера Pen: это значение принято по умолчанию
pmNotCopy Инверсия цвета пера
pmMergePenNot Комбинация цвета пера и инверсного цвета фона канвы
pmMaskPenNot Комбинация цветов, общих для цвета пера и инверсного цвета фона канвы
pmMergeNotPen Комбинация цвета фона канвы и инверсного цвета пера
pmMaskNotPen Комбинация цветов, общих для цвета фона канвы и инверсного цвета пера
pmMerge Комбинация цвета пера и цвета фона канвы
pmNotMerge Инверсия режима pmMerge: комбинации цвета пера и цвета фона канвы
pmMask Комбинация цветов, общих для цвета фона канвы и цвета пера
pmNotMask Инверсия режима pmMask: комбинации цветов, общих для цвета фона канвы и цвета пера
pmXor Операция XOR: комбинация цветов или пера, или фона канвы, но не обоих
pmNotXor Инверсия режима pmXor: комбинации цветов или пера, или фона канвы, но не обоих
Свойство пера Style определяет вид линии. Это свойство может принимать следующие значения:
psSolid Сплошная линия
psDash Штриховая линия
psDot Пунктирная линия
psDashDot Штрих-пунктирная линия
psDashDotDot Линия, чередующая штрих и два пунктира
psClear Отсутствие линии
psInsideFrame Сплошная линия, но при Width > 1 допускающая цвета, отличные от палитры Windows
Примеры линий всех стилей приведены на рисунке:
Все стили со штрихами и пунктирами доступны только при Width = 1. В противном случае линии этих стилей рисуются как сплошные.
Стиль psInsideFrame - единственный, который допускает произвольные цвета. Цвет линии при остальных стилях округляется до ближайшего из палитры Windows.
Свойство Width определяет горизонтальный размер компонента или формы в пикселях. Используется для изменения ширины компонента при изменениях размеров окна приложения. На компоненты - таблицы во время выполнения изменение Width не действует.
Основные свойства Brush (кисти)
Bitmap указывает на объект типа TBitmap, содержащий побитовое отображение изображения. Если Bitmap не пустой, то шаблон заполнения определяется именно им, а не свойством Style. Если изображение меньше, чем 8х8 пикселей, то для заполнения используется только верхняя левая часть размером 8х8 пикселей.
Изменение шаблона не оказывает влияния на кисть, пока новый TBitmap не будет повторно присвоен свойству Bitmap. При окончании работы с кистью надо позаботиться об освобождении памяти, отведенной под TBitmap, так как TBrush сам ее не освобождает.
Свойство Color аналогично перу.
Свойство Style определяет шаблон, которым кисть заполняет фон объекта. Но если для кисти задано свойство Bitmap, то свойство Style игнорируется.
Возможные значения свойства Style:
Пример: Чтобы нарисовать на форме голубой прямоугольник, заполненный желтыми диагональными штрихами в обработчик OnPaint вводятся следующие операторы:
Canvas.Pen.Color:=clBlue;
Canvas.Brush.Color:=clYellow;
Canvas.Brush.Style := bsDiagCross;
Rectangle(10,10,100,100);