Ильдар
Пользователи-
Постов
20 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Ильдар стал победителем дня 20 декабря 2020
Ильдар имел наиболее популярный контент!
Посетители профиля
876 просмотров профиля
Достижения Ильдар
-
Voron отреагировал на ответ на вопрос: Как изменить цвет Label?
-
Добрый день всем, Прошу помощи знающих: Использую TidTCPClient, отрабатываю потерю связи в процессе работы (втупую выдергиваю провод). procedure TClient.onTimer(Sender: TObject); begin try self.FunctionRead(0); except self.Timer.Enabled:= FALSE; inc(self.cntErr); end; end; Получаю каскад сообщений "Socket Error: 10054" т.к. блок except не вызывается. 1. Каким образом отключить окна сообщений об ошибке? (т.к. пользователю они в общем-то ни к чему) 2. Каким образом корректно отловить эти ошибки, чтобы перезапустить соединение? 3. Где вообще почитать информацию о Indy в FMX 10.3? Заранее спасибо!
-
Ильдар отреагировал на ответ на вопрос: com-порт FireMonkey
-
Brovin Yaroslav отреагировал на ответ на вопрос: Как отловить изменение положения контрола
-
Ильдар отреагировал на ответ на вопрос: Как в DBChart добавить цвета RGB?
-
SIARHEI RAHOUSKI отреагировал на ответ на вопрос: Как изменить цвет Label?
-
Ильдар отреагировал на ответ на вопрос: Как в DBChart добавить цвета RGB?
-
Barbanel отреагировал на ответ на вопрос: Как изменить цвет Label?
-
Ingalime отреагировал на ответ на вопрос: Как изменить цвет Label?
-
self.Label1.StyledSettings:= self.Label1.StyledSettings - [TStyledSetting.FontColor]; self.Label1.FontColor:= TAlphaColorrec.Red; Можно просто отключить стилизацию.
- 3 ответа
-
- firemoneky
- delphi
- (и ещё 4 )
-
Алексей Алексеев отреагировал на ответ на вопрос: Определение нажатия левой кнопки мыши
-
if Button = TMouseButton.mbLeft then Showmessage ('Left');
-
Это понятно. Тут больше хотелось разобраться в специфике работы/взаимодействия канвы и компонентов. Просто я был уверен, что это я где-то что-то некорректно делаю.
-
Это не очень вариант, создавать костыли, чтобы разгребать костыли с подсветкой выбора айтемов. Но в любом случае большое спасибо за участие. Попробую дома пересобрать в другой версии среды.
-
Не пойдет, 1) При присваивании nil'a по вызову меню затирается вся канва ректангла. 2) Если АOwner другой компонент - ситуация та же, пустой прямоугольник в левом верхнем углу. 3) Если AOwner другой невидимый компонент - проблемы с канвой ректангла нет, все работает отлично. Но возникает новая штука - при наведении на айтемы меню - они не подсвечиваются.
-
График отрисовывается на канве ректангла по таймеру.. Создаем 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'ов тем он больше в высоту. Собственно вопрос в том, как от этого эффекта избавиться?
-
Черным, по дефолту) Если тут поменять 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 он вроде не доступен. Может, рисование на канве контрола и рисование на битмапе отличается чем то?
-
Добрый день, идеология такая: - создать битмап, рисовать на нем, не делая его видимым. - нашлепать на канву панели подготовленный битмап. На деле не получается нарисовать линию на битмапе. Т.е после процедуры 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;
-
При использовании стилей (TStyleBook) не всплывают вложенные итемы. Если стиль отключить - все работает. Кто-то сталкивался? Embarcadero® Delphi 10.2 Version 25.0.26309.314
-
Потому, что эта часть быдлокода к проблеме не относится) Сейчас интересует как корректно очистить канву компонента FMX...
-
Костыль - само собой) Но это уже верное направление. Это я пробовал еще до репэйнта. Тогда белым заливается вся форма. Стираются прочие элементы формы. объявление Чарта: 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;