Глава 25. Графический интерфейс устройства_________________________709
осью, равной pntRadius.x и вертикальной pntRadius.y. Хотя это, может быть, звучит очень громоздко, но из рис. 25.2 можно видеть, что в действительности все достаточно просто.
В отличие от методов RectagleO И RoundRectangle (), метод FillRectO создает прямоугольники с заливкой. Прямоугольник заполняется цветом и, если необходимо, экземплярами шаблона, которые задаются при описании кисти (brush). Перья и кисти — очень важные элементы GDI, они будут подробно обсуждаться в следующих разделах, посвященных объектам GDI.
// Создание прямоугольника с красной заливкой TBrush brush(TColor::LtRed) ;
TRect. rect(10, 10, 150, 150);
dc.FillRect(rect, brush) ;
Замечание
1 При использовании метода FillRectO следует иметь в виду, что залитая часть прямоугольника включает левую и верхнюю границы и не включает правую и нижнюю границы прямоугольника.
Метод invertRect () меняет цвет определенной области. В случае работы программы на монохромном (черно-белом) мониторе, белые пиксели станут черными и черные — белыми. В случае цветного монитора поведение метода менее предсказуемо и в большой степени зависит от конкретных характеристик видеоплаты и от того, какую палитру использует программа в данный момент. Как правило, однако, не получается просто эффект негатива. Этот метод обычно необходим для того, чтобы показать, что данный объект выбран или выделен. Например, программа может использовать этот метод для того, чтобы выделить щелчком мыши прямоугольник, который только что был нарисован.
// Инвертирование цвета в прямоугольной области TRect rect(10, 10, 150, 150);
dc.InvertRect(rect);
// Возврат в исходное состояние dc.InvertRect(rect) ;
Заметим, что вызов invertRect () четное число раз вызывает восстановление первоначального цвета.
Окружности и прочая относящаяся к ним экзотика. Поскольку существует так много способов выводить в контекст устройства прямоугольники, нет ничего удивительного, что TDC имеет и методы для рисования окружностей.
Замечание
! Внимание, вспомним геометрию! Вы, конечно, помните, что эллипс— это замкнутая кривая, которая получается при движении вокруг двух фиксиро-