Здравствуйте, Аноним, Вы писали:
А>Имеется такой код
А>А> 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;