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

RoschinSpb

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

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

  • Посещение

  • Победитель дней

    10

Активность репутации

  1. Like
    RoschinSpb получил реакцию от Rusland в Перспективы RAD   
    Дело в том, что на мобилках рисование на канве выполняется существенно медленнее, чем на дэсктопах, тут хоть оптимизируй, хоть нет а узкое место ни куда не денется. При этом все стилевые контролы рисуются именно самопально на канве. Для улучшения ситуации нужен переход на использование нативных контролов, а это уже не рефакторинг, а полное переписывание при этом сложность разработки повышается раза в три (по сравнению с написанием с нуля) из-за необходимости обеспечить совместимость.
  2. Like
    RoschinSpb получил реакцию от zairkz в MDI интерфейс   
    Если Вы говорите об аналоге fsMDIChild то ни как. Такой вид форм это чисто виндовая особенность.
    Используйте TTabControl и TFrame, или просто обычные формы.
  3. Like
    RoschinSpb получил реакцию от Brovin Yaroslav в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    Вы меняли значение BlobType как я предложил в предыдущем сообщении? У меня работает
          ///  Эта часть не работает!       ///       if (Value.IsEmpty=false) and (Value.IsObject=true) then        begin //         LB:=TBlobField(Value.AsObject); // ужос!!! //         LB.SaveToStream(LStr); //         LBM:=FMX.Graphics.TBitmap.CreateFromStream(LStr); //          try //            Canvas.DrawBitmap(LBM,RectF(0,0,LBM.Width,LBM.Height),Bounds,1); //            finally //            LBM.Free; //          end;          LBM := TBitmap(Value.AsObject);          Canvas.DrawBitmap(LBM,RectF(0,0,LBM.Width,LBM.Height),Bounds,1);        end;       ///       ///       /// И вообще без обработчика события тоже всё рисуется.
    Это некоторое расстояние называется разделительная линия.
  4. Like
    RoschinSpb получил реакцию от Равиль Зарипов (ZuBy) в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    Вы меняли значение BlobType как я предложил в предыдущем сообщении? У меня работает
          ///  Эта часть не работает!       ///       if (Value.IsEmpty=false) and (Value.IsObject=true) then        begin //         LB:=TBlobField(Value.AsObject); // ужос!!! //         LB.SaveToStream(LStr); //         LBM:=FMX.Graphics.TBitmap.CreateFromStream(LStr); //          try //            Canvas.DrawBitmap(LBM,RectF(0,0,LBM.Width,LBM.Height),Bounds,1); //            finally //            LBM.Free; //          end;          LBM := TBitmap(Value.AsObject);          Canvas.DrawBitmap(LBM,RectF(0,0,LBM.Width,LBM.Height),Bounds,1);        end;       ///       ///       /// И вообще без обработчика события тоже всё рисуется.
    Это некоторое расстояние называется разделительная линия.
  5. Like
    RoschinSpb получил реакцию от Равиль Зарипов (ZuBy) в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    Как я понимаю, BlobType должно быть ftGraphic


    Live Binding это не мой конек.

  6. Like
    RoschinSpb получил реакцию от Brovin Yaroslav в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    Как я понимаю, BlobType должно быть ftGraphic


    Live Binding это не мой конек.

  7. Like
    RoschinSpb получил реакцию от rareMax в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    Как я понимаю, BlobType должно быть ftGraphic


    Live Binding это не мой конек.

  8. Like
    RoschinSpb получил реакцию от Andrey Efimov в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    Как я понимаю, BlobType должно быть ftGraphic


    Live Binding это не мой конек.

  9. Like
    RoschinSpb получил реакцию от Andrey Efimov в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  10. Like
    RoschinSpb получил реакцию от Vitaldj в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  11. Like
    RoschinSpb получил реакцию от enatechno в [XE8] Новая иерархия классов   
    Возможно, что вопрос уже потерял актуальность, но тут есть дерево наследования всех классов пакета FMX. Инфа немного впереди паровоза, т. е. актуальна для следующей версией после RAD Studio 10.
  12. Like
    RoschinSpb получил реакцию от rareMax в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  13. Like
    RoschinSpb получил реакцию от Rusland в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  14. Like
    RoschinSpb получил реакцию от dnekrasov в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  15. Like
    RoschinSpb получил реакцию от Равиль Зарипов (ZuBy) в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  16. Like
    RoschinSpb получил реакцию от Pax Beach в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  17. Like
    RoschinSpb получил реакцию от Brovin Yaroslav в Особенности TGrid в Delphi 10.1 Berlin (XE10)   
    1. У колонки можно менять свойство Padding.
    2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 
    3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать.
    4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример.
    5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события.

    Еще здесь я что-то писал.
  18. Like
    RoschinSpb получил реакцию от zairkz в CreateCellControl в Grid (Berlin)   
    вот как-то так получается, что бóльшей части пользователей FM требуется именно поддержка платформ, потому, что если не требуется, то более разумно использовать vcl+100500 других библиотек. Все-таки специально заточенные под конкретную платформу библиотеки всегда будут проще и лучше, как кофемолка всегда (при прочих равных условиях) будет проще и лучше молоть кофе чем кухонный комбайн. Но это лирика...
    Здесь идея состоит в том, что надо разделить платформонезависимую и платформозависимую части. По этому все наследники TColumn и TCustomGrid ни чего не знают о TDefaultEditor, TStyledGrid... и наоборот. В этом случае можно реализовать свой редактор для TStyledGrid и при этом не убить TiOSGrid. 
    TColumn таким образом потерял всю функциональность связанную с отображением чего-либо, это мог бы быть вообще не TControl, а, например, TCollectioltem, но оставлен как есть для совместимости. 
    Если очень хотите опубликовать TDefaultEditor и пр. напишите в QC. Хотя мне кажется там реализация слишком тривиальна, чтобы что-то еще наследовать. Есть три (два с половиной) необязательных интерфейса ICellControl, IDrawableCell, IDrawableCellEx, которые можно реализовать, по образу и подобию.
    В FMX.Grid.iOS все редакторы опубликованы, но там реализация совсем другая.
  19. Like
    RoschinSpb получил реакцию от zairkz в CreateCellControl в Grid (Berlin)   
    Потому, что кроме TStyledGrid есть еще TiOSGrid, а в перспективе по одному на каждую платформу. И на каждой платформе своя нативная реализация ячеек и редакторов ячеек для каждого типа TColumn. На мобильных дэвайсах реализация вообще радикально другая, контролы не рисуются на канве, а используются системные объекты это приводит к некоторым ограничениям, но зато даёт ощутимый выигрыш по скорости отрисовки. 
    Так что увы прикрутить по быстрому свой редактор не получится.
  20. Like
    RoschinSpb получил реакцию от web_warp в "Нестабильный" вызов OnSelectCell в Berlin?   
    А вот есть такая конторка, Microsoft называется, так она целый Excel для мобильников сделала  
    В целом конечно надо с особой осторожностью подходить к использованию таблиц в мобильных устройствах да и вообще учитывать некоторые особенности при разработке интерфейса, но это уже вопросы второго порядка. В идеале к которому мы стремимся: то, что работает на дэсктопе должно работать и на телефоне без переделок.
    OnDblClick в public как был так и остался.
    В следующей версии в Published должны появиться
      TCellClick = procedure(const Column: TColumn; const Row: Integer) of object;     property OnCellClick;     property OnCellDblClick; Будут срабатывать в таком порядке
    OnSelectCell([StringGrid1] 4; 8)
    OnSelChanged([StringGrid1] 4; 8)
    OnCellClick([StringGrid1] Progress; Row: 8)
    OnCellDblClick([StringGrid1] Progress; Row: 8)
    но это секрет и оффтоп в данной теме.
  21. Like
    RoschinSpb получил реакцию от Rusland в Разделение платформозависимого кода по файлам   
    Нет, там перестают работать все навороты редактора (кодкомплит, переходы по клику, хэльпинсайд)
  22. Like
    RoschinSpb получил реакцию от Rusland в Нарезка картинки в ImageList   
    Обидеть художника каждый может.
    Не каждый может убежать.
    При двойном клике на картинке в Selected Image появляется обычный редактор MultiresBitmap, немодальный. Вы можете перемещать прямоугольник и видеть как меняются его координаты, и размеры в масштабе 1. Можно загружать и несколько общих картинок, главное, чтобы все лежало на своих местах с учетом масштабов. 

    Также Вы можете менять координаты и размеры и видеть как перемещается выделенный прямоугольник. Если навести мышь на картинку, то появляются две кнопочки, с помощью которых можно перемещать прямоугольник пошагово (на значение ширины и высоты). Любые изменения сразу же отображаются во всех окошках. 

    Вроде и статьи написаны, и видео выложено, если ни чего не помогает, можно воспользоваться более удобными профессиональными редакторами (напр. Photoshop) и подготовить изображение, где все картинки уложены в свои клеточки. Тогда при добавлении этого изображения оно будет автоматически нарезано на одинаковые прямоугольники.
  23. Like
    RoschinSpb получил реакцию от enatechno в "Нестабильный" вызов OnSelectCell в Berlin?   
    А вот есть такая конторка, Microsoft называется, так она целый Excel для мобильников сделала  
    В целом конечно надо с особой осторожностью подходить к использованию таблиц в мобильных устройствах да и вообще учитывать некоторые особенности при разработке интерфейса, но это уже вопросы второго порядка. В идеале к которому мы стремимся: то, что работает на дэсктопе должно работать и на телефоне без переделок.
    OnDblClick в public как был так и остался.
    В следующей версии в Published должны появиться
      TCellClick = procedure(const Column: TColumn; const Row: Integer) of object;     property OnCellClick;     property OnCellDblClick; Будут срабатывать в таком порядке
    OnSelectCell([StringGrid1] 4; 8)
    OnSelChanged([StringGrid1] 4; 8)
    OnCellClick([StringGrid1] Progress; Row: 8)
    OnCellDblClick([StringGrid1] Progress; Row: 8)
    но это секрет и оффтоп в данной теме.
  24. Like
    RoschinSpb получил реакцию от Rusland в "Нестабильный" вызов OnSelectCell в Berlin?   
    А вот есть такая конторка, Microsoft называется, так она целый Excel для мобильников сделала  
    В целом конечно надо с особой осторожностью подходить к использованию таблиц в мобильных устройствах да и вообще учитывать некоторые особенности при разработке интерфейса, но это уже вопросы второго порядка. В идеале к которому мы стремимся: то, что работает на дэсктопе должно работать и на телефоне без переделок.
    OnDblClick в public как был так и остался.
    В следующей версии в Published должны появиться
      TCellClick = procedure(const Column: TColumn; const Row: Integer) of object;     property OnCellClick;     property OnCellDblClick; Будут срабатывать в таком порядке
    OnSelectCell([StringGrid1] 4; 8)
    OnSelChanged([StringGrid1] 4; 8)
    OnCellClick([StringGrid1] Progress; Row: 8)
    OnCellDblClick([StringGrid1] Progress; Row: 8)
    но это секрет и оффтоп в данной теме.
  25. Like
    RoschinSpb получил реакцию от Равиль Зарипов (ZuBy) в Смена цвета label в runtime   
    Ключевым здесь является TStyledSetting.FontColor
    NadG.StyledSettings := NadG.StyledSettings - [TStyledSetting.FontColor];
    Работает и с BeginUpdate и без оного и c любым положением "Paren :="
    См. также Почему не изменяется Font.Style и Font.Size.
×
×
  • Создать...