Кент Рейсдорф. BORLAND C++BUILDER. Раздел 1

Кент Рейсдорф. BORLAND C++BUILDER. Страница 125

Классы GDI

Классы GDI (Graphics Device Interface) обычно выполняют большую ра­боту в GUI-приложениях Windows. Эти классы инкапсулируют использование растровых изображений, шрифтов, контекстов устройств (DC), кистей и пе­рьев. Именно через объекты GDI происходит отображение графики и текста в окнах. Классы GDI не связаны с определенным компонентом, но многие компоненты содержат экземпляры этих классов в качестве свойств. Напри­мер, элемент управления редактированием имеет свойство Font, являющееся экземпляром класса TFont.

Термин контекст устройства (device context — DC) хорошо известен всем, кто программирует в Windows как на Си, так и с помощью библиотек Си++. Однако в VCL этот термин широко не используется. DC здесь назы­вается холстом (canvas), а вся сложная структура DC инкапсулирована в классе TCanvas. Холст предоставляет вам поверхность, на которой можно рисовать с помощью методов типа MoveTo(), LineToQ и TextOut(). Растровые изображения выводятся на холст методами Draw() и StretchDraw(). Концеп­ция холста, который вы разрисовываете, более наглядна, чем архаичный термин «контекст устройства», не так ли?

Класс TCanvas содержит экземпляры других классов GDI. Например, когда вы используете последовательность MoveTo()/LineTo(), линия рисуется пером текущего цвета. Текущий цвет пера определяется свойством Реп, ко­торое представляет собой экземпляр класса ТРеп. Свойства ТРеп определяют тип линии: ее ширину, стиль (сплошная, пунктирная и т.д.) и режим ри­сования.

Класс TBrush представляет кисть, которая используется как образец за­ливки при операциях с холстом типа FillRect(), Polygon() и Ellipse(). К свой­ствам TBrush относятся Color, Style и Bitmap. Свойство Bitmap позволяет вам указать растровое изображение, которое будет использоваться в качестве образца заливки.

Web-дизайн (с) 2010 All rights reserved