Перейти к содержанию
  • Регистрация
  • 0
dmitry

Сокращается текст в компоненте TLabel

Вопрос

Добрый вечер.

 

Подскажите пути решения следующей проблемы:

1) Создал пустой проект FMX под операционную систему Windows.

2) Положил на форму компонент TLabel. 

3) В свойство компонента Label.Text задал строку "Способ записи в объект синхронный/асинхронный".

4) Свойство AutoSize компонента выставил в True.

5) В режиме DesignTime компонент TLabel отображает полностью весь текст.

6) Запускаю приложение в операционной системе Windows 7x64, результат работы положительный.

7) Запускаю приложение в операционной системе Windows Server 2008, результат отрицательный, текст в компоненте TLabel сокращается до "Способ записи в объект синхронный/асинхронн..."

8) Выставял свойство AutoSize компонента TLabel в False и автоматически в DesignTime задал большую длину в компоненте для текста, но результат остался отрицательным.

 

Использую Delphi XE7 Update 1. В чем может быть проблема?

 

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


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

Рекомендуемые сообщения

  • 0

Коллеги, заработало.

 

Необходимо было выставить свойство TLabel.Size.Width в нужное значение.

Но почему не всегда кооректно работает свойство autoSize, большой вопрос??? Мне кажется этот глюк

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


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

Комрад, в nextSettings отключи trimming и WordWrap. Скорей всего поможет. И имей ввиду что тоже текст в win7, win xp, win server может иметь фактически разную длину)

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


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

Снова поднимаю эту ветку форума. Свойство AutoSize компонента выставил в True. Проделал все что написано выше, без эффекта! Все равно часть текста съедает. Delphi XE8 SP1.

Ввеху label: AutoSize = false, внизу AutoSize = true.

Есть предложения?

post-96-0-83534800-1437716935.png

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

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


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

Label1.AutoSize := false;

Label1.Width := Label1.Canvas.TextWidth(Label1.Text )  

 

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

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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

    • От лёля
      Создание ссылки из TLabel.
      Приклике на label нечего не проиходит.
      label1.Font.Style:= fsUnderline - не работает.  Есть еще варианты?
    • От SIARHEI RAHOUSKI
      Как изменить цвет Label?  не работает
      Label1.Color := clBlue;  
    • От SIARHEI RAHOUSKI
      При нажатии на Label действия не происходят
      procedure TForm2.Label11Click(Sender: TObject);
      begin
      Button1.visible:= true;
      {label7.Font.Style:= [];
      label8.Font.Style := [];
      label9.Font.Style := [];
      //label11.Font.Style := [fsbold];
      label10.Font.Style := [];  }

        GroupBox12.Visible := false;
        GroupBox13.Visible := false;
        GroupBox14.Visible := false;
        GroupBox15.Visible := true;
        GroupBox16.Visible := false;
      end;
    • От 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.


    • От Вячеслав Холод
      Проблема такая, создаю динамически Label и нужно выровнять текст внутри по центру самой метки. 
      Пробовал: 
          with LabelG do
          begin
            StyledSettings := [];
            LabelG.TextSettings.Font.Family:='Century Gothic';
            LabelG.TextSettings.Font.Size:=14;
            LabelG.TextSettings.FontColor:=TAlphaColorRec.Aliceblue;
       -->  LabelG.TextSettings.HorzAlign.taCenter; (И :=taCenter и что только не пробовал)
          end;
       
      Помогите пожалуйста.
    • От 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
      Нужно чтобы при создании цвет текста становился белым, но почему-то не работает, цвет остается черным
    • От Pax Beach
      Создан проект в RAD Studio 10.1 Berlin (Delphi), в приложении прилинкован сервис. При компиляции проекта в AndroidManifest.xml появляется строчка:
      <service android:exported="true" android:name="com.embarcadero.services.MyService" /> А мне нужна строчка:
      <service android:exported="true" android:name="com.embarcadero.services.MyService" android:label="Этот замечательный сервис создан вручную"/> Ни где не нашел такое свойство. В Project->Options->Version info есть свойство Label только для самого Host приложения.
      Помогите пожалуйста советом.
    • От Rusland
      Поставил в ряд 19шт Label. Фактически - это блоки цифр (10шт Label-цифры), разделенные точками (9шт Label-точки).
      Align у всех Right, стандартный шрифт Segoi UI, но размер поставил 12. Autosize у Label-цифр = True.
       
      При запуске у меня один Label-точка "убегает" вперед.
      Например я начинаю редактировать первую цифру и вместо '111' пишу '11', а затем вместо '11' обратно '111', то Label-точка стоящая за цифрой перемещается вперед! И так со всеми цифрами!
      На мой взгляд чудит autosize=true. 
      Но если я выставляю autosize=false, то на андроиде вместо цифр я вижу '...'  (в проекте и на картинке ниже видно два варианта)
       

       
      Помогите разобраться, как решить эту проблему?
       
      Вот тут сам проект https://yadi.sk/d/7Gc1KFqLmGehS
       
       
      PS. Delphi Seattle, Android 4.2.2, 4''
  • Последние посетители   0 пользователей онлайн

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

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