Re: Глюк или как ???
От: TheOldMen  
Дата: 22.07.04 06:12
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Имеется такой код

А>
А> void __fastcall TFrameComboBoxTreeView::PaintBoxButtonPaint(TObject *Sender)
А>   {
А>   PaintBoxButton->Canvas->MoveTo(5,5);       // По идее в этом месте должна передвинутся
А>                                              // начало координат для рисования, но толи глюк то ли
А>                                              // я, чего не правильно делаю,
А>                                              // в PaintBoxButton->Canvas->PenPos = (5,5).
А>                                              // Хотя чертить начинает с координат(0,0)
А>                                              // соответсвенно и возвращается туды :((
А>   TPoint points[3];

А>   points[0].x = 5;
А>   points[0].y = 5;

А>   points[1].x = PaintBoxButton->Canvas->ClipRect.Width() - 5;
А>   points[1].y = 5;

А>   points[2].x = PaintBoxButton->Canvas->ClipRect.Width() / 2;
А>   points[2].y = PaintBoxButton->Canvas->ClipRect.Height() - 5;

   
А>   PaintBoxButton->Canvas->Polygon(points,3);
А>   }
А>


Нет, это не глюк! Дело в том, что PaintBoxButton->Canvas->MoveTo(5,5); перемещает точку рисования в [5,5], а не передвигает начало координат. После чего, если ты можеш вызвать PaintBoxButton->Canvas->LineTo(15,15); и таким образом нарисуется линия от [5,5] до [15,15]. В твоем случае надо в аргументах points указывать что точку надо брать со смещением, например: points[0+смещение].x = 5;
суть в простоте, а простота в сути
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.