![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Регионы
Diamond Cat © (2002-09-17 01:33:00)Создаю регион
HRegion1 := CreatePolygonRgn (Pts,
sizeof (Pts) div 8, WINDING);
SetWindowRgn (Handle, HRegion1, True);
а ка мне теперь залить его (поместить на него) рисунком из допустим bm:Tbitmap;
Заранее благодарен
MBo (2002-09-18 11:37:00) [1]>браш 8x8
так и положено
в nt/2k можно больше, но использоваться будет только такой кусок
REA (2002-09-18 11:26:00) [2]MBo: Там вроде браш 8x8 пикселов только.
А в цикле то почему не подходит (не важно в каком обработчике)?
MBo (2002-09-18 06:29:00) [3]Diamond Cat
(Canvas.)Brush.bitmap.Assign...
FillRgn(..., Brush.Handle)
Diamond Cat (2002-09-18 03:29:00) [4]2 REAтогда уж не в цикле а в обработке wm_paint, но мне это не подходит
2 Lexeyне совсем догнал, а где рисунок? как его впихнуть в TColor(i stink it imposible) нужно именно рисунок а не просто цвет
А вот "Странному прохожему"ну прям такое спасибо, прям такой гениальный ответ дал, что прям не знаю толи плакать толь какать :о)
@lexey (2002-09-17 22:27:00) [5]Вот может чем то поможет:
...
procedure RegionPaint(Color1, Color2: TColor);
var hb: HBRUSH;
begin
dc := GetDC(Form1.Handle);
hb:=CreateSolidBrush(Color1);
ResultRgn := CreatePolygonRgn(Points, 4, ALTERNATE);
FillRgn(dc, ResultRgn, hb);
hb:=CreateSolidBrush(Color2);
FrameRgn(dc, ResultRgn, hb,1,1);
end;
...
Удачи! Если что пиши, пришлю программу собственного изготовления по созданию не прямоугольных форм. :-)
REA (2002-09-17 13:06:00) [6]Form.Canvas.Draw(X, Y, bm) в цикле
Странный Прохожий (2002-09-17 10:02:00) [7]Поместить TImage на форму и в нём прорисовать картинку.
Всё!