FlexGraphics Software, Ltd. Вопросы и ответы  




 Главная | Информация | Загрузка | Купить | Поддержка | FAQ | О нас | English

Новости

Q1: Как из линии сделать полилинию или многоугольник?

A1: Выбрать инструмент Line tool и нарисовать линию, далее удерживая нажатой кнопку Ctrl можно рисовать полилинию. Для получения многоугольника, удерживая кнопку Ctrl, надо навести указатель мыши на первую точку линии и замкнуть ее, в результате чего свойство объекта IsSolid станет равным True. Для размыкания многоугольника надо в инспекторе свойство объекта IsSolid установить в False.Top

Q2: Почему при указании свойства объекта ShowHint=True, не происходит отображение текста Hint-а?

A2: Документ в библиотеке FlexGraphics имеет свойство InDesign, при создании и редактировании документа это свойство в редакторе установлено в True, чтобы Hint-ы не мешали, а уже при просмотре документа, свойство документа InDesign устанавливается в False.Top

Q3: Почему при указании угла поворота Angle, не происходит поворот текста?

A3: К сожалению в данной версии библиотеки FlexGraphics поворот текста возможен только для TrueType шрифтов. Установите TrueType шрифт, а так же свойство AutoSize установите в False и текст будет поворачиваться.Top

Q4: Для чего предназначено свойство объекта Reference, и как его использовать?

A4: Так как документ в библиотеке FlexGraphics может иметь вложенные под-документы или схемы (Scheme), то данное свойство используется для построения сложных связей между схемами или интерактивных-планов с большим количеством планировок. Если объект в свойстве Reference ссылается на другую схему, то в режиме InDesign=False при клике на объект происходит отображение указанной схемы (смотри демо-версию).Top

Q5: Как создать объект в библиотеке FlexGraphics с предопределенными свойствами, и как его зарегистрировать?

A5: Для создания нового объекта необходимо создать класс наследник от TFlexControl. При этом необходимо переопределить такие методы:
   protected
   - procedure CreateProperties;

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

   - procedure ControlCreate;

    Производится инициализация свойств и опций объекта. Чаще всего вызывается метод ControlCreate предка и затем инициализируются новые свойства. Для того, чтобы объект был виден в методе должно быть обязательно установлено свойство Visible в True.

   - procedure ControlDestroy;

    Производится освобождение памяти и т.д. ВНИМАНИЕ: экземпляры созданных свойств удаляться НЕ ДОЛЖНЫ! Они будут удалены при удалении списка свойств Props.

   - procedure Paint(Canvas: TCanvas; var PaintRect: TRect);

    Производится полная перерисовка объекта. Размер и положение объекта задается прямоугольником PaintRect. Для ускорения вывода метод может перерисовывать только необходимую прямоугольную область, которая определяется через свойство Owner.PaintRect.

  public
   - function IsPointInside(PaintX, PaintY: integer): boolean;

    Если форма объекта не прямоугольна (или может быть не прямоугольной), то в этом методе нужно определить, принадлежит ли точка (PaintX, PaintY) объекту или нет.

   Для интеграции объекта с редактором FlexEdit также желательно перекрыть такие методы:
  public
   - class function GetToolInfo(ToolIcon: TBitmap; var Hint: string): boolean;

    Если объект должен быть добавлен в палитру редактора FlexEdit, то он должен перекрыть этот метод, и вернуть иконку (для FlexEdit 24x24) и хинт для инструмента.

   - class function CursorInCreate: TCursor;

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

  Для того, чтобы объект загружался/сохранялся в Flex-файлах его необходимо зарегистрировать вызовом процедуры RegisterFlexControl. Обычно это делается в разделе инициализации модуля:
 initalization
   RegisterFlexControl(TMyFlexControl);


  Пример создания нового объекта приведен в модуле ACCtrls.pas.Top

Q6: Почему при использовании объектов с градиентной заливкой происходит сильное замедление отрисовки?

A6: Постарайтесь минимизировать количество объектов с градиентной заливкой, или если это не приемлемо, то применяйте горизонтальную или вертикальную заливку - это ускорит отрисовку.Top

08.01.2022
  - FlexGraphics v1.82 release !!!
Новые возможности:
  - поддержка для пакетов Delphi/CBuilder 11;
  - исправление незначительных ошибок;

03.10.2020
  - FlexGraphics v1.81 release
Новые возможности:
  - поддержка для пакетов Delphi/CBuilder XE8, 10 - 10.4;

17.09.2014
  - FlexGraphics v1.78 release
Новые возможности:
  - поддержка для пакетов Delphi/CBuilder XE4 - XE7;

Партнеры



Components and tools for developers

Главная  | Информация  | Загрузка  | Купить  | Поддержка  | FAQ  | О нас  | English

Copyright © 2001-2022 by FlexGraphics Software. All rights reserved.
Designed by FlexGraphics Software.