• 0
Авторизация  
striker

Выделение текста мышью + покраска грида

Вопросы

Всем привет!

Я новичок в FMX.

Сталкиваюсь с проблемами различий с VCL.

Некоторые проблемы:

1) Текст в edit мышью невозможно выделить, выделение скачет.

Думаю связано с заточкой под тач, как починить и возможно ли - нигде не нашёл.

2) Покрасить грид (строчку) в зависимости от значения можно?

В VCL это делается OnDrawColumnCell

Спасибо!

Изменено пользователем striker

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

0 ответов на этот вопрос

Ответы на этот вопрос пока отсутствуют

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Похожий контент

    • От x11
      Бесплатная сетка для некомерческого использования. Я так понял, что без исходников.
      For Embarcadero RAD Studio 2009 and up to Tokyo 10.2 update 2, Delphi and C++, VCL and Firemonkey frameworks (all platforms: Windows 32 and 64 bit, Mac OSX, Android and iOS), and Lazarus FreePascal (Windows, Linux, etc)
      https://github.com/Steema/TeeGrid

    • От striker
      Всем привет!
      Нужен совет.
      Есть Grid, в нем расписание дня.
      В БД каждая строка это отдельная запись.
      Нужно как-то визуально сделать подобие объединения ячеек в Excel.
      Т.е. нужно занять расписание на 2 часа.
      При этом функционал по событиям для строки "второго часа" должен быть недоступен.
      Может хотя бы границу стирать, т.е. оставлять значение в верхней ячейки, а нижнюю просто не отображать.
      Как это лучше сделать?
      FMX, Windows, Delphi XE6, MySQL
       

    • От Wovan2
      Здравствуйте.
      Пишу на Delphi 7. И все было нормально пока не у нас не появился терминал сбора данных на Androide. На Delphi 10 написал простенькое приложение. Но тут встала проблема с занесением данных в поле ввода со сканера штрихкода. В инете нашел, что это дело просто решается интентами. Вообще в windows я подобное делал: вешал процесс, следящий за com-портом, и при появлении данных на нем пересылал их куда надо. В Android должно быть не сложнее. Но я запутался во всей этой куче параметров и функций, передаваемых и получаемых "намерениями".
      В общем вот что мы имеем на данный момент.
      В настройках сканера прописано:
       
      Intent output - android.intent.ACTION_DECODE_DATA Intent string extra - barcode_string На просторах нашел запуск BroadcastReceiver.
      На событие получения сообщения повесил 
      ed.Text := JStringToString(csIntent.getExtras.getString(TJIntent.JavaClass.EXTRA_INTENT)); где csIntent параметр из  BroadcastReceiverOnReceive(csContext: JContext; csIntent: JIntent); Но ничего не выходит. 
      Я подозреваю, что данные из сканера где-то в структуре csIntent. Но, к сожалению, в отладке дальше адреса этой переменной пробраться не получилось.
      Причем строка ed.Text := JStringToString(csIntent.getAction); возвращает в Text название интента: "android.intent.ACTION_DECODE_DATA".
      Помогите разобраться со структурой JIntent. Спасибо.
       
       
    • От striker
      Добрый день!
      Работаю с MySQL
      Подключаюсь через FireDac.
      FDQuery+FDConnecton+Bind+Grid
      Запрос выполняется моментально, но как только подключаю Grid - начинает висеть. Grid заполняется очень долго - секунд 12-15.
      Причем результат запроса - всего 230 строк, хоть и join присутствует.
      Куда копать? Может дело быть именно в FMX?
    • От Alexander Samosyuk
      Создаю свой компонент с визуализацией Label в Edit, см. рис.
      При компиляции появляется еще одни Label. А при отрисовке формы нельзя скопировать готовый компнонент - выдает ошибку.
      Подскажите, как избавиться от дубликата.
      t
      type    TShowLabel = (Show, Hide);   TEditVisualLabel = class(TEdit)   private   TextLabel : TLabel;   FloatVErt : TFloatAnimation;   FloatSize : TFloatAnimation;   FloatColor : TColorAnimation;     FLabCAp : string;     function GetSHow: TShowLabel;     Procedure SetShow(Value : TShowLabel);     function GetLabelCaption: string;     Procedure SetLabelCaption(Value : string);     function GetLabelFontColor: TAlphaColor;     Procedure SetLabelFontColor(Value : TAlphaColor);     function GetStopValue : Single;     procedure SetStopValue(Value : Single);     function GetStartValue: Single;     procedure SetStartValue(Value : Single);     function GetStopFont: Single;     procedure SetStopFont(Value : Single);     function GetStartFont: Single;     procedure SetStartFont(Value : Single);     { Private declarations }   protected     procedure Enter(Sender : TObject);     procedure Exi(Sender : TObject);     { Protected declarations }   public   { Public declarations }   published   property LabelFontColor : TAlphaColor read GetLabelFontColor write SetLabelFontColor;  property LabelCaption: string read GetLabelCaption write SetLabelCaption;   property LabelPositionStop : Single read GetStopValue write SetStopValue;   property LabelPositionStart : Single read GetStartValue write SetStartValue;   property LabelSizeStopFont : Single read GetStopFont write SetStopFont;   property LabelSizeStartFont: Single read GetStartFont write SetStartFont;   property LabelVisible : TShowLabel read GetSHow write SetSHow default TShowLabel(1);   constructor Create(aowner: TComponent);override;     { Published declarations }   end; procedure Register; implementation procedure Register; begin   RegisterComponents('Samples', [TEditVisualLabel]); end; constructor TEditVisualLabel.Create(aowner: TComponent); var Del: TLabel; Family,Style,FontColor : TStyledSetting; begin  inherited Create(AOwner);   TextLabel := TLabel.create(Self);   TextLabel.Parent := self;                       // Скорее всего, что именно здесь весь затык, почему оно выполняется дважды   TextLabel.StyledSettings := [Family];   TextLabel.Align := TAlignLayout(2);   TextLabel.TextSettings.FontColor := TAlphaColorRec.Silver;   TextLabel.TextSettings.Font.Size := 14;   TextLabel.SetSubComponent(true);   FloatVErt := TFloatAnimation.Create(TextLabel);   FloatVErt.Parent :=  TextLabel;   FloatVErt.PropertyName := 'Position.Y';   FloatVErt.StopValue := -20;   FloatVErt.StartValue := 0;   FloatSize := TFloatAnimation.Create(TextLabel);   FloatSize.Parent :=   TextLabel;   FloatSize.PropertyName := 'TextSettings.Font.Size';   FloatSize.StopValue := 11;   FloatSize.StartValue := 14;   FloatColor := TColorAnimation.Create(TextLabel);   FloatColor.Parent :=   TextLabel;   FloatColor.PropertyName := 'TextSettings.FontColor';   FloatColor.StartValue := TAlphaColorRec.Silver;   LabelFontColor := TAlphaColorRec.Black;   LabelVisible := TShowLabel(0);   TextLabel.Align := TAlignLayout(2);   //TextLabel.Width := 5000;   //FloatColor.StopValue := LabelFontColor;   OnExit := Exi;   OnEnter := Enter;   end; procedure TEditVisualLabel.Enter(Sender : TObject); begin    inherited;   if TextLabel.Position.Y<>FloatVErt.StopValue then begin FloatVErt.Inverse := false; FloatVErt.Start; FloatSize.Inverse := false; FloatSize.Start; FloatColor.Inverse := false; FloatColor.Start end; end; procedure TEditVisualLabel.Exi(Sender: TObject); begin   inherited;  if (Self.Text='') and (TextLabel.Position.Y<>0) then begin FloatVErt.Inverse := true; FloatVErt.Start; FloatSize.Inverse := true; FloatSize.Start; FloatColor.Inverse := true; FloatColor.Start end; end; function TEditVisualLabel.GetLabelCaption: string; begin result := TextLabel.Text; end; function TEditVisualLabel.GetLabelFontColor: TAlphaColor; begin Result := FloatColor.StopValue; end; function TEditVisualLabel.GetSHow: TShowLabel; begin if TextLabel.Visible then Result := TShowLabel(0) else  Result := TShowLabel(1); end; function TEditVisualLabel.GetStartFont: Single; begin Result := FloatSize.StartValue; end; function TEditVisualLabel.GetStartValue: Single; begin Result := FloatVErt.StartValue; end; function TEditVisualLabel.GetStopFont: Single; begin Result := FloatSize.StopValue; end; function TEditVisualLabel.GetStopValue: Single; begin Result := FloatVErt.StopValue; end; procedure TEditVisualLabel.SetLabelCaption(Value: string); begin TextLabel.Text := Value; end; procedure TEditVisualLabel.SetLabelFontColor(Value: TAlphaColor); begin FloatColor.StopValue :=value; end; procedure TEditVisualLabel.SetShow(Value: TShowLabel); begin if Value = TShowLabel(0) then     TextLabel.Visible := true   else    TextLabel.Visible := False; end; procedure TEditVisualLabel.SetStartFont(Value: Single); begin FloatSize.StartValue := Value; TextLabel.TextSettings.Font.Size := Value; end; procedure TEditVisualLabel.SetStartValue(Value: Single); begin FloatVert.StartValue := Value; end; procedure TEditVisualLabel.SetStopFont(Value: Single); begin FloatSize.StopValue := Value; end; procedure TEditVisualLabel.SetStopValue(Value: Single); begin FloatVert.StopValue := Value; end; end.


    • От Митя Гринюк
      Когда мы на Андроид устройстве клавишей переходим в TaskManager (Менеджер запущенных приложений), мы видим наши Недавние или Запущенные приложения в виде прямоугольников/квадратов.
      А именно: квадратный "скриншот" вместимости приложения и над "скриншотом приложения" размещается TopBar, на котором отображается некоторая информация (ярлык, название приложения и цвет, читаемый с приложения, а именно colorPrimary приложения).   {Android L}
      В моём приложении, независимо от colorPrimary/colorPrimaryDark, TopBar имеет черный цвет.
      Можно ли это как-то изменить?
      Embarcadero RAD 10.2 Tokyo, Delphi.
      (использую модуль, который окрашивает даже StatusBar)
      Ниже прикреплены изображения для ознакомления с терминами.
       
       
    • От Rusland
      Имеется форма с Edit, в котором набран IP-адрес 192.168.1.12
      Если попробовать долгим тапом выделить весь текст (для копирования), то выделяется только какая-то одна цифра. Весь текст никак не выделить. Тоже самое будет, если вместо точек поставить любые другие знаки препинания или пробел. Как решить эту проблему?
       
    • От Dozent
      Вообщем столкнулся с такой бедой и не знаю как решить!
      Мне нужно сделать в какой-то контейнер накидать лайауты, кнопки, имейджи, лейблы и тд.
      Потом нужно чтобы это всё можно было таскать по скролбоксу и создавать копию такого же контейнера! Казалось бы всё можно сделать но тут я в тупике, почему? 
      Я кинуть TCalloutRectangle на форму в нём расположил как мне нужно элементы и научил его двигаться в скролбоксе!! Сижу я тут такой радуюсь смотрю на код)
      procedure TForm1.crtPhaseMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin zX := X; zY := Y; zIsDragging := true; (Sender as TControl).BringToFront; (Sender as TShape).Fill.Color := TAlphaColorRec.Lightblue; (Sender as TShape).Root.Captured := (Sender as TShape); end; procedure TForm1.crtPhaseMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); begin if zIsDragging and (ssLeft in Shift) then begin (Sender as TControl).Position.X := (Sender as TControl).Position.X + X - zX; (Sender as TControl).Position.Y := (Sender as TControl).Position.Y + Y - zY; // (Sender as TShape).Fill end; end; Потом такой же радостный беру и копирую код из другого проекта где у меня прекрасно создавались копии накиданные мной .
      procedure TForm1.Button1Click(Sender: TObject); var Layout: TButton; begin Layout := TButton.Create(GridLayout1); Layout.Parent := GridLayout1; Layout.StyleLookup := 'MainStyle3'; Layout.Position.X := Layout1.Position.X + 10; Layout.Position.Y := Layout1.Position.Y + 10; Layout.Visible := true; GridLayout1.Height := GridLayout1.Height + Layout.Height; end; Сижу и думаю вот контрол сделал он по форме таскается круто шас ещё и научу его многожить)))
      Но тут горячая обезьянка подкидывает сурпрайз)
      У TCalloutRectangle  и ему подобным нет свойства LoockupStyle. А это значит что стиль я ему предать не могу) Но он хорошо передвигается по форме)
      Ок делаю кнопку он вроде как стиль применяет, корява но это возмно мой касяк) Но он не передвигается по форме, а при клике по нему выдаёт ошибку
       
      First chance exception at $773ADAE8. Exception class EInvalidCast with message 'Invalid class typecast'. Process RPScenarioEditor.exe (4084) Чта делать я в замешательстве!!! Подскажите пожалуйста....
    • От Равиль Зарипов (ZuBy)
      Привет Всем!
      Много тем на форуме про раскраску TListView, нашел в интернете решение и доработал его
      Вот что получилось
         
      LV_Helper.zip                                                                  ColorListView.zip
      Доступно для Seattle
      ListView1.SetColorItemSelected(TAlphaColorRec.Orangered); //выделенный ListView1.SetColorItemFill(TAlphaColorRec.Gray); // обычный цвет Item ListView1.SetColorItemFillAlt(TAlphaColorRec.Lightgrey); // альтернативный цвет Item ListView1.SetColorBackground(TAlphaColorRec.Black); // цвет самого TListView ListView1.SetColorItemSeparator(TAlphaColorRec.Lightgray); // Линия разделения Item'ов ListView1.SetColorText(TAlphaColorRec.Red); // Обычный текст ListView1.SetColorTextSelected(TAlphaColorRec.White); // выделенный текст ListView1.SetColorTextDetail(TAlphaColorRec.Yellow); // текст доп. инфы ListView1.SetColorTextHeader(TAlphaColorRec.Green); // текст заголовка ListView1.SetColorTextHeaderShadow(TAlphaColorRec.Lightgray); // тень текста   ListView1.SetColorButtonText(TAlphaColorRec.Orange); // цвет текста кнопки   ListView1.SetColorButtonTextPressed(TAlphaColorRec.Orangered); // цвет нажатой кнопки добавлено в Berlin
      ListView1.SetColorPullRefresh(TAlphaColorRec.Orange); ListView1.SetColorPullRefreshIndicator(TAlphaColorRec.Orangered); ListView1.SetColorStretchGlow(TAlphaColorRec.Lime); ModernListView.rar
    • От Alesk
      Фрагмент кода:
      nad[g]:= tlabel.Create(tabbedwithnavigationform.label1); nad[g].BeginUpdate; nad[g].Size.height:=24; nad[g].Size.Width:=350; nad[g].Text:=we; nad[g].position.y:=-99; nad[g].Align:=talignlayout.Top; nad[g].FontColor:=$FFFEFEFE; nad[g].EndUpdate; nad[g].Parent:= pod[g]; где nad[g] - массив из tlabel, а pod[g] - массив из tlistview
      Нужно чтобы при создании цвет текста становился белым, но почему-то не работает, цвет остается черным
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу