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

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

Проблема с BeginPath [D5, Win95/98, Win2k, WinXP]


z0ne ©   (2002-06-26 12:42:00) 

Вопрос: почему Path не сохраняет данные ??? Есть код


procedure TMaint.NameLblClick(Sender: TObject);
var
S:String;
DC:HDC;
R:HRGN;
I:Integer;
P:Pointer;
begin
Beep;
//
S:=NameLbl.Caption;
NameLbl.Caption:="";
//
DC:=Image1.Picture.Bitmap.Canvas.Handle;
SetBkMode(DC,TRANSPARENT);
Image1.Picture.Bitmap.Canvas.Font.Assign(NameLbl.Font);
Image1.Picture.Bitmap.Canvas.TextOut(0,0,".");
BeginPath(DC);
TextOut(DC,0,0,PChar(S),Length(S));
EndPath(DC);
P:=Nil;
I:=GetPath(DC,P,P,0);
R:=PathToRegion(DC);
end;

так вот, если убрать BeginPath-EndPath, то строка выводится в Image, а если оставить, то I=0 и соответственно регион не создаётся


MBo   (2002-06-26 13:42:00) [1]

procedure TForm1.Button1Click(Sender: TObject);
var dc:hdc;
rgn:hrgn;
begin
canvas.font.size:=24;
canvas.font.name:="Arial";//Не с trueType не срабатывает!
dc:=Canvas.Handle;
canvas.Brush.color:=clred;
SetBkMode(dc, TRANSPARENT);
BeginPath(DC);
TextOut(DC,10,10,"Qwerty",6);
EndPath(DC);
rgn:=pathtoregion(dc);
fillrgn(dc,rgn,canvas.Brush.handle);
deleteobject(rgn);
end;


Наверх

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