Приветствую. Рисую координатную сетку с помощью такого кода:
with Panel1 do
begin
Canvas.BeginScene;
try
Canvas.Stroke.Color:=talphacolorRec.Darkgrey;
b:=trunc(Width/CellSize)-1;
c:=trunc(height/CellSize)-1;
for a := 0 to b do
begin
if (a mod 10 = 0) then Canvas.Stroke.Thickness:=2 else Canvas.Stroke.Thickness:=1;
Canvas.DrawLine(PointF(a * CellSize + 0.5, 0.5), PointF(a * CellSize + 0.5, height-1), 1);
end;
for a := 0 to c do
begin
if (a mod 10 = 0) then Canvas.Stroke.Thickness:=2 else Canvas.Stroke.Thickness:=1;
Canvas.DrawLine(PointF(0.5, a * CellSize + 0.5), PointF(width-1, a * CellSize + 0.5), 1);
end;
finally
Canvas.EndScene;
end;
end;
Проблема в том, что при размещении компонентов на панели, сетка рисуется и на них. Как от этого избавиться? Спасибо.
Вопрос
Razmir
Приветствую. Рисую координатную сетку с помощью такого кода:
with Panel1 do begin Canvas.BeginScene; try Canvas.Stroke.Color:=talphacolorRec.Darkgrey; b:=trunc(Width/CellSize)-1; c:=trunc(height/CellSize)-1; for a := 0 to b do begin if (a mod 10 = 0) then Canvas.Stroke.Thickness:=2 else Canvas.Stroke.Thickness:=1; Canvas.DrawLine(PointF(a * CellSize + 0.5, 0.5), PointF(a * CellSize + 0.5, height-1), 1); end; for a := 0 to c do begin if (a mod 10 = 0) then Canvas.Stroke.Thickness:=2 else Canvas.Stroke.Thickness:=1; Canvas.DrawLine(PointF(0.5, a * CellSize + 0.5), PointF(width-1, a * CellSize + 0.5), 1); end; finally Canvas.EndScene; end; end;
Проблема в том, что при размещении компонентов на панели, сетка рисуется и на них. Как от этого избавиться? Спасибо.
Ссылка на комментарий
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.