Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Регионы


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 на форму и в нём прорисовать картинку.
Всё!


Наверх

Титульная страница Поиск, карта сайта Написать письмо