Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
ВнизPenPos или "как нарисовать линию" Найти похожие ветки
← →
Вопрос (2004-07-18 15:57) [0]Подскажите пожалуйста пару строк кода, как нарисовать линию.
Например, такой код у меня не работает почему-то.
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 16:30) [1]а какая разница между двумя кодами ?
в упор не вижу
← →
Гаврила © (2004-07-18 16:31) [2]в общем случае надо вызывать
MoveTo
LineTo
← →
Вопрос (2004-07-18 16:56) [3]Опс... прошу прощения. Во втором случае тож самое но без этого PenPos. Т.е. линия должна рисоваться из 0,0.
Самое интересное, что по F1 - PenPos есть в качестве Properties для Canvas.. А он говорит - неописанный идентификатор. Странно.
"в общем случае надо вызывать
MoveTo
LineTo"
в смысле? Как модифицировать код? MoveTo разве нужен?
← →
grom (2004-07-18 17:12) [4]procedure TForm1.Button1Click(Sender: TObject);
begin
Canvas.MoveTo(5,5);
Canvas.LineTo(5,100);
//Canvas.LineTo(100,5);
end;
← →
Вопрос (2004-07-18 17:14) [5]ОК, спасибо, попробую.
← →
Вопрос (2004-07-18 17:33) [6]Хм.. Не работает. Вернее, если сделать
With Form1.Canvas do
begin
MoveTo(5,5);
LineTo(5,100);
end;
то всё работает.
А вот так (как мне, собственно, и надо):
With Chart1.Canvas do
begin
MoveTo(5,5);
LineTo(5,100);
end;
не работает. Линии не видно. В чем может быть проблема?
← →
/v\ (2004-07-18 17:46) [7]..\Borland\Delphi5\Demos\Teechart
← →
Вопрос (2004-07-18 18:29) [8]"..\Borland\Delphi5\Demos\Teechart"
Спасибо.. Оказалось, линии просто "затирались". Поставил этот же код в обработчик Chart1AfterDraw и всё сработало.
Теперь другой вопрос:
Как сделать преобразование - из координат на графике в координаты на канве? Т.е. я хочу, чтобы моя горизонтальная линия, начиналась именно там, где на оси абсцисс - еденица. Но на канве этой точке соответсвует точка с координатами где-то (20, 100). Как быть?
В том примере наверняка есть, но там десятки юнитов - как найти?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c