![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PenPos или "как нарисовать линию" [D5, Win2k]
Вопрос © (2004-07-18 15:57:00)Подскажите пожалуйста пару строк кода, как нарисовать линию.
Например, такой код у меня не работает почему-то.
with Chart1.Canvas do
begin
PenPos.x:=10;
PenPos.y:=10;
Pen.Color:=ClRed;
LineTo(201,101);
end;
Возникает ошибка: "Undeclared identifier: PenPos". Странно. Причем, если сделать код:
with Chart1.Canvas do
begin
PenPos.x:=10;
PenPos.y:=10;
Pen.Color:=ClRed;
LineTo(201,101);
end;
то ошибок не возникает, но и линия из точки (0,0) не рисуется. Наверняка что-то не так сделал (хотя поглядел в хелпы).
Вопрос (2004-07-18 18:29:00) [1]"..\Borland\Delphi5\Demos\Teechart"
Спасибо.. Оказалось, линии просто "затирались". Поставил этот же код в обработчик Chart1AfterDraw и всё сработало.
Теперь другой вопрос:
Как сделать преобразование - из координат на графике в координаты на канве? Т.е. я хочу, чтобы моя горизонтальная линия, начиналась именно там, где на оси абсцисс - еденица. Но на канве этой точке соответсвует точка с координатами где-то (20, 100). Как быть?
В том примере наверняка есть, но там десятки юнитов - как найти?
/v\ (2004-07-18 17:46:00) [2]..\Borland\Delphi5\Demos\Teechart
Вопрос (2004-07-18 17:33:00) [3]Хм.. Не работает. Вернее, если сделать
With Form1.Canvas do
begin
MoveTo(5,5);
LineTo(5,100);
end;
то всё работает.
А вот так (как мне, собственно, и надо):
With Chart1.Canvas do
begin
MoveTo(5,5);
LineTo(5,100);
end;
не работает. Линии не видно. В чем может быть проблема?
Вопрос (2004-07-18 17:14:00) [4]ОК, спасибо, попробую.
grom (2004-07-18 17:12:00) [5]procedure TForm1.Button1Click(Sender: TObject);
begin
Canvas.MoveTo(5,5);
Canvas.LineTo(5,100);
//Canvas.LineTo(100,5);
end;
Вопрос (2004-07-18 16:56:00) [6]Опс... прошу прощения. Во втором случае тож самое но без этого PenPos. Т.е. линия должна рисоваться из 0,0.
Самое интересное, что по F1 - PenPos есть в качестве Properties для Canvas.. А он говорит - неописанный идентификатор. Странно.
"в общем случае надо вызывать
MoveTo
LineTo"
в смысле? Как модифицировать код? MoveTo разве нужен?
Гаврила (2004-07-18 16:31:00) [7]в общем случае надо вызывать
MoveTo
LineTo
Гаврила (2004-07-18 16:30:00) [8]а какая разница между двумя кодами ?
в упор не вижу