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

Поиск сообщества

Показаны результаты для тегов 'text'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 7 результатов

  1. Aptyp

    Артефакты вокруг текста

    На моём Samsung Note 5 вокруг букв проглядываются линии. Причём пробовал 3 различных разрешения экрана, ничего не меняется. У друга на Xiaomi Redmi 4x такого не наблюдается. Что это может быть?
  2. Jeysi Z

    Текст на context

    Здравствуйте, хотел поинтересоваться, как писать что-то в процедуре render на context?
  3. Обнаружил очередной глюк Tokyo - сломали Text в Android. А именно порушили раскраску символов Юникода. Воспроизводится просто : procedure TFormMain.FormCreate(Sender: TObject); Var Text1: TText; begin Text1:=TText.Create(Self); Text1.Text:='|' + Char($2713) + '|'; Text1.Font.Size:=48; Text1.Color:=TAlphaColorRec.Red; Text1.Align:=TAlignLayout.Client; Text1.TextSettings.HorzAlign:=TTextAlign.Center; Text1.TextSettings.VertAlign:=TTextAlign.Center; FormMain.AddObject(Text1); end; На первом скриншоте этот код выполнен в Berlin, все выглядит как задуманно. На втором скриншоте этот же код в Tokyo.
  4. RubenKamp

    ListView получить текст Item

    Добрый день. Столкнулся с такой проблемой, есть приложение которое делает парсинг сайта и собирает нужные ссылки в ListBox а из ListBox-а потом ссылку открывает браузер, с ListBox-ом проблем не было (за исключением скорости работы) делал так: procedure TForm16.ListBox1Click(Sender: TObject); begin WebBrowser1.URL:=listbox1.Selected.Text; end; решил вместо ListBox использовать ListView собираю данные в ListView но не знаю как передать браузеру(
  5. *** Небольшой обмен опытом *** Вижу что вопросы о размере текста довольно частые, поделюсь своими наработками. function CalcTextSize(Text: string; Font: TFont; Size: Single = 0): TSizeF; Функция для расчета размера прямоугольника, занимаемого однострочным текстом. Параметры: Text - Текст Font - Шрифт с которым будет выводиться текст Size - если 0, то Font.Size будет использоваться из Font, иначе из данного параметра Исходный код: uses System.Types, FMX.Types, FMX.Graphics, FMX.TextLayout, System.Math, System.SysUtils; function CalcTextSize(Text: string; Font: TFont; Size: Single = 0): TSizeF; var TextLayout: TTextLayout; begin TextLayout := TTextLayoutManager.DefaultTextLayout.Create; try TextLayout.BeginUpdate; try TextLayout.Text := Text; TextLayout.MaxSize := TPointF.Create(9999, 9999); TextLayout.Font.Assign(Font); if not SameValue(0, Size) then begin TextLayout.Font.Size := Size; end; TextLayout.WordWrap := False; TextLayout.Trimming := TTextTrimming.None; TextLayout.HorizontalAlign := TTextAlign.Leading; TextLayout.VerticalAlign := TTextAlign.Leading; finally TextLayout.EndUpdate; end; Result.Width := TextLayout.Width; Result.Height := TextLayout.Height; finally TextLayout.Free; end; end; function FontSizeForBox(Text: string; Font: TFont; Width, Height: Single; MaxFontSize: Single = cMaxFontSize): Integer; Функция возвращающая максимально возможный размер шрифта, для текста вписанного в заданный прямоугольник. Параметры: Text - Текст Font - Шрифт с которым будет выводиться текст Width, Height - Ширина и высота прямоугольника MaxFontSize - Максимально возможный размер шрифта Исходный код: uses System.Types, FMX.Types, FMX.Graphics, FMX.TextLayout, System.Math, System.SysUtils; const cMaxFontSize = 512; function FontSizeForBox(Text: string; Font: TFont; Width, Height: Single; MaxFontSize: Single = cMaxFontSize): Integer; var Size, Max, Min, MaxIterations: Integer; Current: TSizeF; begin Max := Trunc(MaxFontSize); Min := 0; MaxIterations := 20; repeat Size := (Max + Min) div 2; Current := CalcTextSize(Text, Font, Size); if ((Abs(Width - Current.Width) < 1) and (Width >= Current.Width)) and ((Abs(Height - Current.Height) < 1) and (Height >= Current.Height)) then break else if (Width < Current.Width) or (Height < Current.Height) then Max := Size else Min := Size; Dec(MaxIterations); until MaxIterations = 0; Result := Size; end; --- Также данные функции можно найти в этом юните
  6. Здравствуйте, дорогие друзья! Открыл для себя firemonkey, и неожиданно поняд, что крос платформенность - тяжелая для меня ноша! Я хочу выполнить простую операцию, подгрузить в приложение список системных шрифтов, чтобы пользователь, мог сам выбрать, что ему нравится. Обнаружил, что в firemonkey нет TFontDialog, нет TFontList. Ситуация бесfontовая! Благо есть интернет. И там, добрый человек - честь и хвала ему - детально раскладывает, как решить эту задачу хоть для windows, хоть для Mac. https://delphiscience.wordpress.com/2012/11/20/getting-system-fonts-list-in-firemonkey-the-new-tplatformextensions-class/ Но снова судьба злодейка кинула! Коды на Delphi! А я только начал разбираться в СИ++. В общем, прошу Вас, друзья, помочь мне адаптировать тот код под СИ, и вконце концов получить список системных шрифтов: TPlatformExtention.h //--------------------------------------------------------------------------- #ifndef PlatformExtentionH #define PlatformExtentionH //--------------------------------------------------------------------------- #include <System.Classes.hpp> //--------------------------------------------------------------------------- class TPlatformExtention: public TObject{ public: void FGetSystemFonts( TStringList *FontList ); }; //--------------------------------------------------------------------------- #endif TPlatformExtention.cpp //--------------------------------------------------------------------------- #pragma hdrstop #include <string> #include "PlatformExtention.h" //--------------------------------------------------------------------------- int FEnumFonts( TLogFont LogFont, TTextMetric TextMetric, unsigned long FontType, long Data ){ TStringList *List = new TStringList(); UnicodeString fName; fName = LogFont.lfFaceName; if( List->Count == 0 || (AnsiCompareText(List[List->Count-1].Text, fName) != 0 ) ){ List->Add( fName ); return 1; } return 0; } //--------------------------------------------------------------------------- void TPlatformExtention::FGetSystemFonts( TStringList *FontList ){ HDC dContext; TLogFont *LogFont = new TLogFont; dContext = GetDC(0); StringOfChar( *(LogFont->lfFaceName), sizeof( LogFont ) ); LogFont->lfCharSet = DEFAULT_CHARSET; EnumFontFamiliesEx( dContext, LogFont, FEnumFonts, 0, 0 ); ReleaseDC(0, dContext); } //--------------------------------------------------------------------------- #pragma package(smart_init) Моя признательность всем откликнувшимся не знает границ. Всем спасибо
  7. Поэкспериментировал и нашел простейший случай - узел и в нем два листа. Алгоритм следующий (упрощенно) каждый лист показывает пару key=value при клике в узел остается только key= и показывается листвью с выбором value. Затем мы получаем грубо key=new value (хотя не обязательно) После такой операции вы обязательно получаем то что 2 листа меняются местами С узлом ничего не происходит ни программно ни фактически В более сложных случаях тоже шевеление наблюдается, но я его не изучал подробно
×
×
  • Создать...