Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Объект кисть – это битовый образ, свойства которого распространяются в горизонтальном и вертикальном направлениях при закрашивании области.
Имеется шесть стандартных (Stock) кистей: WHITE _ BRUSH – белая, LTGRAY _ BRUSH – светло-серая, GRAY _ BRUSH – серая, DKGRAY _ BRUSH – темно-серая, BLACK _ BRUSH – черная и NULL _ BRUSH (HOLLOW) – пустая кисть.
Выбрать одну из стандартных кистей в контекст устройства можно аналогично выбору пера, определив переменную типа описателя кисти HBRUSH hBrush; получаем описатель кисти, например, GRAY _ BRUSH:
hBrush = GetStockObject (GRAY_BRUSH);
Выберем эту кисть в контекст устройства:
SelectObject (hdc, hBrush);
Теперь внутренняя область рисуемых фигур будет закрашиваться серым.
Если необходимо нарисовать фигуру без рамки, выберем перо NULL _ PEN:
SelectObject (hdc, GetStockObject (NULL_PEN));
А если только контур фигуры без закрашивания внутренней области, выберем кисть NULL _ BRUSH:
SelectObject (hdc, GetStockObject (NULL_BRUSH));
Для создания сплошной (Solid) логической кисти:
hBrush = CreateSolidBrush (rgbColor);
Для создания штриховой (Hatch) кисти, состоящей из горизонтальных, вертикальных или диагональных линий:
hBrush = CreateHatchBrush (iHatchStyle, rgbColor);
параметр iHatchStyle – стиль штриховки: HS _ HORIZONTAL, HS _ VERTICAL, HS _ BDIAGONAL – диагональная слева направо вверх; HS _ FDIAGONAL – диагональная слева направо вниз; HS _ CROSS – прямая сетка; HS _ DIAGCROSS – диагональная сетка; в обеих функциях rgbColor – цвет штриховых линий.
Промежутки между штриховыми линиями закрашиваются в соответствии с режимом и цветом фона, если режим фона – OPAQUE, то цвет фона используется для закрашивания промежутков между штриховыми линиями, если режим фона – TRANSPARENT, то промежутки между штриховыми линиями не зарисовываются.
Можно создавать кисти, основанные на битовых шаблонах, используя функцию CreatePatternBrush:
hBrush = CreatePatternBrush (hBitmap);
Функция, включающая три рассмотренные ранее функции, строящие кисти:
hBrush = CreateBrushIndirect (&logbrush);
переменная logbrush – структура типа LOGBRUSH («логическая кисть» – logical brush), содержащая поля:
UINT lbStyle – стиль кисти: BS _ SOLID – сплошная; BS _ HOLLOW, BS _ NULL – «пустая» (невидимая); BS _ HATCHED – штрихованная; BS _ PATTERN, BS _ PATTERN8X8 – задаются битовой картой; BS _ DIBPATTERN, BS _ DIBPATTERN8X8, BS _ DIBPATTERNPT – задаются битовой картой DIB (в Windows 95 размер шаблона ограничен 8´8 точек);
COLORREF lbColor – цвет кисти, для пустой или «шаблонной» кисти игнорируется, для кистей с DIB -шаблоном младшее слово определяет, следует ли интерпретировать его цвета как заданные цветовыми компонентами (DIB _ RGB _ COLORS) или как палитровые (DIB _ PAL _ COLORS).
Значение поля lbStyle определяет, как интерпретируются другие поля:
lbStyle | lbColor | lbHatch |
BS _ SOLID | Цвет кисти | Игнорируется |
BS _ HOLLOW | Игнорируется | Игнорируется |
BS _ HATCHED | Цвет штриховых линий | Стиль штриховки |
BS _ PATTERN | Игнорируется | Описатель битового шаблона |
Получить описатель логической кисти: SelectObject (hdc, hBrush);
Удалить созданную кисть: DeleteObject (hBrush);
Получить информацию о кисти:
GetObject (hBrush, sizeof (LOGBRUSH), &logbrush);
Дата публикования: 2015-09-17; Прочитано: 190 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!