Ильдар

Пользователи
  • Публикаций

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

  • Посещение

  • Победитель дней

    1

Ильдар стал победителем дня 1 августа

Ильдар имел наиболее популярный контент!

Информация о Ильдар

  • Звание
    Пользователь

Посетители профиля

148 просмотров профиля
  1. Ильдар

    Как изменить цвет Label?

    self.Label1.StyledSettings:= self.Label1.StyledSettings - [TStyledSetting.FontColor]; self.Label1.FontColor:= TAlphaColorrec.Red; Можно просто отключить стилизацию.
  2. Ильдар

    Определение нажатия левой кнопки мыши

    if Button = TMouseButton.mbLeft then Showmessage ('Left');
  3. Ильдар

    PopUp и Canvas

    Это понятно. Тут больше хотелось разобраться в специфике работы/взаимодействия канвы и компонентов. Просто я был уверен, что это я где-то что-то некорректно делаю.
  4. Ильдар

    PopUp и Canvas

    Это не очень вариант, создавать костыли, чтобы разгребать костыли с подсветкой выбора айтемов. Но в любом случае большое спасибо за участие. Попробую дома пересобрать в другой версии среды.
  5. Ильдар

    PopUp и Canvas

    Не пойдет, 1) При присваивании nil'a по вызову меню затирается вся канва ректангла. 2) Если АOwner другой компонент - ситуация та же, пустой прямоугольник в левом верхнем углу. 3) Если AOwner другой невидимый компонент - проблемы с канвой ректангла нет, все работает отлично. Но возникает новая штука - при наведении на айтемы меню - они не подсвечиваются.
  6. Ильдар

    PopUp и Canvas

    График отрисовывается на канве ректангла по таймеру.. Создаем PopUp меню: PopUp:= TPopUpMenu.Create(AOwner); PopUp.Parent:= TFMXObject(AOwner); ItemFormSet:= TMenuItem.Create(PopUp); ItemFormSet.Parent:= PopUp; ItemFormSet.Tag:= 1; ItemFormSet.text:= 'Item 1'; ItemFormSet.OnClick:= self.MenuClicks; ..... ItemLegend:= TMenuItem.Create(PopUp); ItemLegend.Parent:= PopUp; ItemLegend.Tag:= 3; ItemLegend.text:= 'Item 3'; ItemLegend.OnClick:= self.MenuClicks; Rectangle.PopupMenu:= self.PopUp; При вызове PopUp правой клавишей - получаем вот такой "чистый" прямоугольник в левом верхнем углу. Соответственно он исчезает только при следующей перерисовке кадра. (даже если перерисовывать с высокой частотой, все равно при вызове меню видно мелькание в левом углу). Такое ощущение, что при вызове меню - оно создается и отображается там, затирая под собой канву а потом перемещается к координатам мыши. Если в меню PopUp'a содержится один item - прямоугольника нет. Начиная с добавления второго - он появляется и чем больше Item'ов тем он больше в высоту. Собственно вопрос в том, как от этого эффекта избавиться?
  7. Ильдар

    Bitmap DrawLine

    Черным, по дефолту) Если тут поменять bm на Panel - на канве панели исправно рисуется черная линия. procedure TChart.Draw2; var A,B:TPointF; begin A:=TPointF.Create(0,0); B:=TPointF.Create(200, 200); bm.Canvas.BeginScene(); bm.Canvas.DrawLine(A,B,1); bm.Canvas.EndScene; end; Прогуглил немного, раньше надо было обязательно добавлять bitmapchanged; но в 10.2 он вроде не доступен. Может, рисование на канве контрола и рисование на битмапе отличается чем то?
  8. Ильдар

    Bitmap DrawLine

    Добрый день, идеология такая: - создать битмап, рисовать на нем, не делая его видимым. - нашлепать на канву панели подготовленный битмап. На деле не получается нарисовать линию на битмапе. Т.е после процедуры Draw2 прожимаю процедуру Draw - получаю на панели красный прямоугольник битмапа без нарисованной линии... Посоветуйте чего-нибуть, спасибо! //BITMAP Bm:= TBitmap.Create; bm.Width:= round (Panel.Width/2); bm.Height:= round (Panel.Height/2); bm.Canvas.BeginScene(); bm.Canvas.Clear(TAlphacolorrec.Red); //($FF484848); bm.Canvas.EndScene; procedure TChart.Draw2; var A,B:TPointF; begin A:=TPointF.Create(0,0); B:=TPointF.Create(200, 200); bm.Canvas.BeginScene(); bm.Canvas.DrawLine(A,B,1); bm.Canvas.EndScene; end; procedure TChart.Draw; var A: TPointF; R: TRectF; begin A.X:= Panel.Position.X+3; A.Y:= Panel.Position.Y+3; R:= TRectF.Create(A, bm.Width , bm.Height); panel.Canvas.BeginScene(); Panel.Canvas.DrawBitmap(bm,r,r, 20); panel.Canvas.EndScene; end;
  9. Ильдар

    Не всплывают вложенные итемы Popup

    При использовании стилей (TStyleBook) не всплывают вложенные итемы. Если стиль отключить - все работает. Кто-то сталкивался? Embarcadero® Delphi 10.2 Version 25.0.26309.314
  10. Ильдар

    Canvas,

    Спасибо)
  11. Ильдар

    Canvas,

    Потому, что эта часть быдлокода к проблеме не относится) Сейчас интересует как корректно очистить канву компонента FMX...
  12. Ильдар

    Canvas,

    нет ( с ними все норм
  13. Ильдар

    Canvas,

    Костыль - само собой) Но это уже верное направление. Это я пробовал еще до репэйнта. Тогда белым заливается вся форма. Стираются прочие элементы формы. объявление Чарта: TChart = class Panel: TPanel; public constructor Create (AOwner:TForm; W,H,X,Y:integer); procedure DrawGrid (cell: integer); procedure DrawLine (p1, p2: TPointF); procedure DrawSeries (Series: TSeries); procedure Clear; end; Процедура очищения: procedure TChart.Clear; begin panel.Canvas.BeginScene(); self.panel.Canvas.Clear(TAlphaColorRec.White); panel.Canvas.EndScene; end;
  14. Ильдар

    Canvas,

    Воу, шайтан! -) Спасибо спасибо огромное. procedure TChart.Clear; begin panel.Repaint; end; Я так понимаю Репэйнт заканчивался уже после отрисовки остального? -) Он выделяется в отдельный поток? оО
  15. Ильдар

    Canvas,

    Мне кажется вы не поняли суть вопроса. Если убрать очистку в начале - график конечно появится, но в следующем такте измененный график наложится на этот