Вверх ↑
Ответов: 2197
Рейтинг: 673
#1: 2014-05-08 17:56:35 ЛС | профиль | цитата
nesco, не хватает
SetBkMode(pDC, TRANSPARENT);
Это легко заметить если перед отрисовкой прямоугольника (речь о моем примере выше), поставить элемент содержащий эту строку (Img_Text или Img_Bmp). В результате HDC начнет игнорировать прорисовку фона при использовании штриховой кисти. Почему не везде проскакивает эта ошибка, не знаю.
Наверное будет правильно добавить эту строку во все элементы использующие штриховые кисти (свойсто Style): Img_Rectangle, Img_Ellipse, Img_Arc, Img_Polygon, Img_FloodFill.
Вместо этого (hiImg_Rectangle.pas):
45 else46   br := CreateHatchBrush(ord(_prop_Style) - 2, sColor);
Это:
elsebegin         
SetBkMode(pDC, TRANSPARENT);
br := CreateHatchBrush(ord(_prop_Style) - 2, sColor);
end;

карма: 11

0