Перейти к содержанию
Fire Monkey от А до Я

Павел Блажеев

Пользователи
  • Постов

    2
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Павел Блажеев

  1. Добрый день. Очень нужна Ваша помощь. 
    Мне необходимо сделать координатную сетку в виде точек. При масштабировании панели количество точек должно изменяться . 

    Хочу все это сделать на канве панели. Унаследовал класс и переопределил 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?


     

    g1.png

    g2.png

×
×
  • Создать...