Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
14-1089646989
Sheng
2004-07-12 19:43
2004.08.01
Извините за дибильный вопрос, но


3-1089093227
MVA
2004-07-06 09:53
2004.08.01
Grid


3-1089037684
lockheed_man
2004-07-05 18:28
2004.08.01
Проблема с SQL-запросом


4-1087906515
Buster
2004-06-22 16:15
2004.08.01
Как открыть стандартное окно со свойством файл?


14-1089889664
Koala
2004-07-15 15:07
2004.08.01
вопрос к профессиналам, проблема с жестким диском