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

Вниз

PolyLine   Найти похожие ветки 

 
Дима2 ©   (2002-04-02 16:40) [0]

C помощью PolyLine рисую линию в FormCreat. Перпендикулярно ей стоит labal стрелка. Когда меняю цвет линии(заново прорисовываю) и стелки(label), то получается разрыв. В чем дело?


 
Дима2 ©   (2002-04-02 16:49) [1]

?


 
Alx2 ©   (2002-04-02 17:10) [2]

Код?


 
Дима2 ©   (2002-04-02 18:48) [3]

for ch:=1 to 2 do begin
if ch=2 then begin
label4.Font.Color:=clblack;
end;
for i:=1 to 19 do begin
if (i<9) or (i>13)then Canvas.Polyline([Point(x11[i],y11[i]),Point(x12[i],y12[i])]);
end;{1,2,3,4}
Canvas.Pen.Color := clblack;
button6.Click;{Процедура ожидающая нажатия Buton2}
end;


 
yaJohn ©   (2002-04-02 19:04) [4]

Лабел сначала рисует свой прямоугольник цветом фона, а потом выводит текст. Изменение Label.Font.Color приводит к перерисовке Label. Потому и разрыв.
Линия нарисованная в OnCreate формы.... Попробуйте свернуть форму, а потом снова развернуть. И где линия?
Линию надо рисовать в OnPaint (или OnDraw ???), коли таковой имеется.


 
Дима2 ©   (2002-04-02 19:08) [5]

Да, но я сначало делаю label4.Font.Color, а потом рисую линию!


 
yaJohn ©   (2002-04-02 19:33) [6]

Где? В OnCreate? Вот эта линия один раз и отрисовывается. А потом, уже после OnCreate Windows может неоднократно посылать окну WM_PAINT. При этом Лейбл перерисовывается поверх линии, а линия - нет.


 
Дима2 ©   (2002-04-02 19:39) [7]

Нет не в Oncreat. В procedure. C начала у меня всё нормально.(Я имею в виду что на форме у меня всё нормально при OnCreat)
А в procedure я сначало делаю label4.Font.Color, а потом рисую линию!


 
yaJohn ©   (2002-04-02 19:40) [8]

А откуда вызывается procedure???


 
Дима2 ©   (2002-04-02 19:47) [9]

При нажатии Button


 
Дима2 ©   (2002-04-02 19:52) [10]

?


 
Дима2 ©   (2002-04-02 20:18) [11]

?


 
Alx2 ©   (2002-04-03 14:54) [12]

Пока дремучий лес. Подробнее код надо. В частности, все места, отколь это все вызывается. Или весь юнит, если он небольшой.
Вообще подобные вещи (с PolyLine) делаются в OnPaint


 
REA   (2002-04-03 15:19) [13]

Насчет PolyLine и PolyPolyLine - там есть ограничение - не более 15000 точек (экспериментально определено). На принтер и того меньше (зависит от модели и размера памяти).



Страницы: 1 вся ветка

Текущий архив: 2002.04.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
4-46546
avk
2002-02-13 21:40
2002.04.15
kill process


1-46302
Дима2
2002-04-02 16:40
2002.04.15
PolyLine


1-46333
hooky-mars
2002-04-03 21:44
2002.04.15
Масивы не понятно какого вида


3-46218
-Stealtch-
2002-03-22 15:12
2002.04.15
Перенос записей из одной БД в другую с анологичной структурой


6-46468
petr
2002-02-04 12:45
2002.04.15
Лишняя строчка в attachment (SMTP)