Релиз обновления Лазарус 2.0.0. Что Нового? Полный список изменений.

Привет всем, Около года мы с вами ждали долгожданный релиз нового обновления Лазарус 2.0.0, в котором исправлено десятки ошибок, добавлены долгожданные нововведения, а также расширен основной функционал. С полным перечнем обновлений и изменений вы можете ознакомится ниже:

Что нового в Lazarus 2.0.0:

TScrollingWinControl ( TForm , TScrollBox , TFrame )

  • ScreenToClient и ClientToScreen теперь рассчитываются без смещения полосы прокрутки. Cсовместимо с Delphi.

Поддержка прокрутки мыши колесом horz

Добавлены события TControl для горизонтального перемещения колесика мыши (специальные мыши с кнопками прокрутки horz для ПК и современные мыши для Mac). OnMouseWheelHorz, OnMouseWheelLeft, OnMouseWheelRight. События используются в некоторых не родных компонентах LCL (TreeView, UpDown, SpinEdit). Нативные компоненты уже должны обрабатывать горизонтальную прокрутку.

Компилятор определяет, чтобы исключить некоторую поддержку графики

Добавлены флаги для исключения поддержки некоторых графических форматов для создания небольших приложений:

  • -dDisableLCLGIF
  • -dDisableLCLJPEG
  • -dDisableLCLPNM
  • -dDisableLCLTIFF

TCustomImageList / TImageList

  • Cписок изображений теперь поддерживает несколько разрешений. В результате все элементы управления LCL поддерживают глифы с высоким разрешением в Windows + Linux и Retina на Mac без дополнительного кода.
  • Каждый элемент управления LCL, который поддерживает ImageList, теперь имеет новое свойство ImagesWidth, которое дает выбор, какую пользовательскую ширину в 96 PPI (масштаб 100%) следует использовать. Пример: TToolBar.Images / .ImagesWidth, TListView.LargeImages / .LargeImagesWidth, .StateImages / .StateImagesWidth.
  • Свойство TCustomImageList.Scaled = True, помогает определять автоматически выбирать правильное разрешение списока изображений для вашего элемента управления.

TSpeedButton, TBitBtn

  • Новые свойства изображений, ImageIndex и ImageWidth. Добавлена ​​полная поддержка ImageList.
    • нет необходимости сохранять один и тот же символ в LFM во всем приложении
    • автоматическая обработка изображений с высоким разрешением

TWinControl.DoubleBuffered, .ParentDoubleBuffered и TApplication.DoubleBuffered

  • Примечание. DoubleBuffered — это функция только для LCLWin32.
  • Старое поведение: DoubleBuffered не правильно реализован и была принудительно установлена на True
  • Новое поведение:
    • Была создана Delphi-совместимая концепция DoubleBuffered / ParentDoubleBuffered (она соответствует концепции Font / ParentFont).
    • LCL имеет расширение TApplication.DoubleBuffered над Delphi, которое позволяет глобально установить значение DoubleBuffered по умолчанию для всего приложения (установите Application.DoubleBuffered перед созданием первой формы). Затем значение применяется ко всем элементам управления в форме с помощью ParentDoubleBuffered: = True.
    • DoubleBuffered имеет значение True по умолчанию, если только в удаленном сеансе (это отличается от Delphi, где DoubleBuffered имеет значение False по умолчанию).
    • Если вам нужен один конкретный элемент управления DoubleBuffered: = False даже для Application.DoubleBuffered: = adbDefault, убедитесь, что вы установили control.DoubleBuffered: = False и .ParentDoubleBuffered: = False.

TListView

Добавлен метод CustomSort как в Delphi.

TTreeView

  • Реализовано свойство HotTrack (показывает синее подчеркивание для элементов под курсором).
  • Реализована автопрокрутка вверх / вниз во время перетаскивания (когда мышь достигает края дерева).

FilterOptions в элементах управления

Базовый класс элементов управления фильтрами TCustomControlFilterEdit имеет новое свойство FilterOptions, для которого установлены следующие флаги:

 TFilterStringOption = (fsoCaseSensitive, fsoMatchOnlyAtStart);
 TFilterStringOptions = набор TFilterStringOption;

Для трех элементов управления фильтрами в LazControls реализованы два флага: TListFilterEdit, TListViewFilterEdit, TTreeFilterEdit.

Расширенное меню 

  • Поддерживается TMenuItem.Assign (TMenuItem): копирует все реквизиты меню.
  • Поддерживается TMenu.Assign (TMenu): копирует все элементы со всеми вложенными подэлементами из одного меню в другое (TMainMenu, TPopupMenu).

TPageSetupDialog

  • TPageSetupDialog: добавлены свойства Margin * и Units.
  • Большая доработка Unix TPageSetupDialog, теперь она завершена, как в Windows (в Windows она была родной, в Unix — эмуляция).

Изменения IDE

  • Атрибуты Delphi : поиск объявлений, подсказки параметров, префиксы атрибутов $ modewitch.
  • Среда IDE анализирует пользовательские параметры компилятора для переключателя fpc -FN <namespaces> , чтобы определить пространства имен по умолчанию, поэтому вы можете опустить пространства имен в разделах использования.
  • поддержка pas2js :
    • Новый пакет IDE pas2jsdsgn (по умолчанию не установлен):
      • Вы можете создать веб-приложение для браузера или nodejs
      • на « Запустите запускает веб-приложение в вашем веб-браузере
    • Настройки pas2js выбираются автоматически, так же как и настройки fpc
    • быстрые исправления работают с сообщениями pas2js
  • добавлено быстрое исправление для сообщения fpc «унаследованный метод скрыт»: добавлено переопределение модификатора , перегрузка или повторное введение ярлыков.
  • добавлен пункт меню, чтобы скрыть значки для таких компонентов, как TOpenDialog. Опция: Показавает не визуальные компоненты
  • Окно завершения идентификатора содержит также текст (слова) из открытых в данный момент единиц. Его можно отключить или настроить в параметрах IDE -> Codetools -> Завершение идентификации -> Включить слова
  • была обновлена ​​функция публикации проекта / пакета и окно графического интерфейса. Теперь все файлы участников проекта / пакета включаются автоматически. Дополнительные файлы могут быть добавлены с помощью фильтра. Структура каталогов сохраняется, даже если некоторые файлы находятся в каталогах «выше» основного каталога.
  • улучшено окно «Новый компонент» и пользовательский интерфейс. Также теперь поддерживается 3 иконки для разных разрешений.
  • функция Run -> Compile many Modes … теперь запоминает ранее выбранные режимы.
  • окно Поиск -> Список процедур … теперь запоминает состояние кнопок фильтра.

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

Скачать обновленную версию 2.0.0 вы можете у нас на сайт.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *