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

Nick Peterson

Пользователи
  • Постов

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

  • Посещение

Сообщения, опубликованные Nick Peterson

  1. Как сделать ClearType в десктопном приложении на DirectX канве?

    Чисто для эксперимента прописал   

    procedure TTextLayoutD2D.DoDrawLayout(const ACanvas: TCanvas);
    
    .... 
    
      TCanvasD2D(ACanvas).FTarget.SetTextAntialiasMode(D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE);

     

    И вот странное дело - TLabel стал рисовать правильно, с ClearType, зато TEdit вообще не отрисовывает:) (проверяю на 10.2.3, Windows 10, новый тестовый проект без единой строки кода, за исключением правки в FMX.Canvas.D2D.pas )

  2. Всем привет!

    Можно ли использовать разные классы канвы в 1 приложении?

    я ставлю  FMX.Types.GlobalUseDirect2D:=false; для лучшей отрисовки текста в UI,

    но при рисовании графики на PaintBox хочу использовать GPUCanvas (только для данного PaintBox'a), поскольку производительность в данном случае важнее красивого шрифта.

    Можно так сделать?

  3. Методом тыка нашел вариант, не знаю, насколько он корректен?

     

    procedure TForm8.Grid1HeaderClick(Column: TColumn);
    var FieldName:  string;
    begin
      FieldName:=Column.Header;
      If FSortField=FieldName
        then FSortField:=FieldName+':D'
        else FSortField:=FieldName;
      If MainQuery.Active then begin
        MainQuery.IndexFieldNames:=FSortField;
        MainQuery.First;
      end;
    
      MainQueryBinding.BeginLayout;
      MainQueryBinding.EndLayout;
    end;

     

  4. Такой вопрос , сделал TStringGrid для Sqlite таблицы через лайфбиндинг

    Как сделать сортировку? на VCL работал такой код, на FMX не работает ("сортирует" только первую строку, остальные без изменений):

    procedure TRepForm.Grid1HeaderClick(Column: TColumn);
    var FieldName:  string;
    begin
      FieldName:=Column.Header;
      If FSortField=FieldName
        then FSortField:=FieldName+':D'
        else FSortField:=FieldName;
      If MainQuery.Active then begin
        MainQuery.IndexFieldNames:=FSortField;
        MainQuery.First;
      end;
    end;

     

  5. 1 час назад, dnekrasov сказал:

    Хотелось бы исходники глянуть

    Добрый день! Благодарю за ответы!

    Исходников пока нет, я эксперементирую на чистом проекте. Сделал два стайлбука, в одном из них сделал два стиля прогрессбарам - зеленый и красный (ProgressBar1Style1, ProgressBar1Style2)

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

    image.png.6a6b7213b60ab817c82bb764bfb65ab2.png

     

    2 часа назад, dnekrasov сказал:

    Лучше добавить файл стиля в ресурсы проекта и грузить его динамически

    Верно ли я понял, что можно редактировать стиль в стайлбуке в IDE, затем сохранить его в .style файл и засунуть в ресурсы в таком виде, удалив стайлбуки с формы?

     

    Подскажите еще вопрос, привожу внешний вид интерфейса в порядок после преобразования из VCL, очень раздражает вид сплиттера между двумя мемо (на скрине увеличение x8). Есть какой-то простой способ это победить? Я имею в виду эти 2 черные линии. Если уменьшать толщину сплиттера, тогда его сложно ухватить мышкой)) Пробовал вставлять TLine с белой кистью между мемо, не получается

     

    image.png.6421b801f3f5db0b0a2e4ac56a235aa7.png

  6. Пока что разбираюсь со стилями, форум читал, все равно не понимаю пару вопросов:

    1) Как отредактировать битмап в стиле? к примеру, беру стиль Diamond из премиум пака для 10.2. Хочу в нем поменять цвет Progressbar'a. На поиск решения и на исполнение ушло 3 часа:)) (сделал как тут пишут https://stackoverflow.com/questions/27876780/how-to-extract-and-replace-png-images-in-tstylebook  путем редактирования файла со стилем и формы в блокноте. Т.е. берешь кусок текста из файла стиля, копируешь его на форму в TImage оттуда сохраняешь, правишь в фотошопе и тп) Более простого способа нет?

    2) Как поменять дефолтный шрифт во всех элементах сразу? В файле со стилем не нашел записи Segoe UI, где вообще это прописано? Т.е. я хочу чтобы все Segoe UI заменились на скажем Tahoma

    image.png.622296749c586abce34cd8062f7fd434.png

    В интернете нашел только решение через подмену IFMXSystemFontService

    3) Вообще не понял идеологию StyleBook'ов, Кинул на форму два стайлбука, в один загрузил Diamond , другой оставил как есть, ничего не трогал. Делаю все в режиме Windows - Master, (пока только для винды), View других не создавал.

    image.png.ee9420a731c6980607202a0b4bb4c04b.png

    3.1) Надо ли создавать View и загружать в них стили заново в стайлбуки, как пишется в справке?

    3.2) Выбрал стайлбук с Diamond  и отредактировал в нем 2 Custom стиля для прогрессбаров

    image.png.f70cc319c157f63c74f7fe115da46bdd.png

    Применяю другой стайлбук, где у меня дефолтный стиль, но прогрессбары все равно остаются цветными!

    image.png.b5f15d257c6b14c4c5d1e1f456dbb799.png

    Как сделать, чтобы при применении другого стиля в StyleBook2 элементы также меняли свой вид (на дефолтный для StyleBook2 в данном случае) ?

  7. Всем привет!

    Имеется приложение под винду на VCL (торговый терминал).

    Возникло желание перевести на FMX для сборки под MacOS (это основная цель).

    Неделя тестов, мида конвертер и ручное ковыряние и правка кода и вуаля, приложение скомпилировалось:) Однако при первом взгляде на свеже-испеченную прогу меня охватил ужас! Хотя нет, ужас охватил еще раньше, когда в одном из тестов мемо с коротеньким текстом на 2 страницы загрузило ЦПУ на 20% при скролле... Тогда я решил, что вобщем-то мои пользователи редко  будут мемо скролить. Но вот общий вид приложения, эти стремные шрифты, несоразмерные кнопочки и тп, едва не отбили желание продолжать:)

    Теперь от лирики к существу: нужна консультация по вопросу, стоит ли вообще и если да, то какие подводные камни могут еще встретится и как обходить.

    Дельные консультации, а также практическую помощь (стили, советы, куски кода) готов хорошо оплатить.

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