- 0
Как сделать координатную сетку ?
-
Похожий контент
-
- 1 ответ
- 496 просмотров
-
- 18 ответов
- 1 238 просмотров
-
AppTethering не отправляет поток данных в Android-приложение
От Delpher-X,
- delphi
- delphi 10.3.3
- (и ещё 3 )
- 5 ответов
- 1 140 просмотров
-
- 24 ответа
- 5 653 просмотра
-
- 1 ответ
- 2 042 просмотра
-
- 7 ответов
- 1 484 просмотра
-
Как изменить цвет фона или текста заголовка tstringgrid
От BelovAlex,
- tstringgrid
- firemonkey
- (и ещё 1 )
- 0 ответов
- 1 062 просмотра
-
- 1 ответ
- 1 467 просмотров
-
- 0 ответов
- 1 141 просмотр
-
- 0 ответов
- 1 428 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Павел Блажеев
Добрый день. Очень нужна Ваша помощь.
Мне необходимо сделать координатную сетку в виде точек. При масштабировании панели количество точек должно изменяться .
Хочу все это сделать на канве панели. Унаследовал класс и переопределил procedure Paint; override;
Tfield = class(TPanel)
Constructor Create( parent: TFmxObject);
procedure Paint; override;
Procedure OnMyClick (Sender: TObject);
end;
В теле метода я пробовал рисовать. Экспериментировал и столкнулся с такой проблемой. Ничего не отображается. Нет никаких изменений.
Если я наследую не от Tpanel а от Timage то часть кода работает а часть работает очень криво. Очень хочу разобраться почему .
{Отображается сразу}
for a:=1 to 1000 do
begin
self.Canvas.Fill.Color:= TAlphaColors.Crimson;
self.Canvas.FillEllipse(rect(1,1,10,10),self.AbsoluteOpacity);
self.Canvas.FillEllipse(rect(round(self.Width-9),round(self.Height-9),round(self.Width), round(self.Height)),self.AbsoluteOpacity);
self.Canvas.FillEllipse(rect(round(self.Width-9),1,round(self.Width), 9),self.AbsoluteOpacity);
self.Canvas.FillEllipse(rect(1,round(self.Height-9),10, round(self.Height)),self.AbsoluteOpacity);
end;
{Отображается только после того как я проскролю Scrollbox на котором лежит панель в крайнее нижнее правое положение}
self.Canvas.Stroke.Color:= TAlphaColors.Crimson;
self.Canvas.Stroke.Thickness:=7;
Canvas.BeginScene;
self.Canvas.DrawLine(PointF(20, 20), PointF(100, 50), self.AbsoluteOpacity);
Canvas.EndScene;
Подскажите пожалуйста, почему не работает такое с панелью? Как правильно рисовать на панели?
Почему в случае с имейджем все работает так некорректно? Почему работает только после скрола?
Каким способом мне лучше сделать координатную сетку? состоящую из точек как в режиме Design?
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.