Главная страница
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.052 c
4-1087305217
Erik1
2004-06-15 17:13
2004.08.01
Почему выполняемый фаил блокируется от переименования?


8-1082874386
X-Disa
2004-04-25 10:26
2004.08.01
3D - куб


3-1089277222
:)
2004-07-08 13:00
2004.08.01
IB5


1-1090304726
npr2
2004-07-20 10:25
2004.08.01
определение ANSI-кода символа


1-1089850879
Gleb
2004-07-15 04:21
2004.08.01
Программный поиск файлов