Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Новые возможности VCL в RAD Studio 11

11 richandtree

Теперь, когда RAD Studio 11 вышла, я хочу вернуться к некоторым ее новым функциям, начиная с улучшений VCL.


Среди новых функций в Delphi 11, C ++ Builder 11 и RAD Studio 11 есть одна область, которой я очень доволен, — это работа, проделанная командой над основными компонентами VCL, адресованная ряду запросов, ожидающих решения в течение некоторого времени. Коснемся базы по некоторым из них.

Новый элемент управления RichEdit

Наиболее заметной новой функцией является миграция TRichEdit на самую последнюю версию платформы, элемент управления RichEdit 4.1, реализованный с помощью MSFTEDIT.dll. Помимо общего улучшения, новые элементы управления предлагают такие функции, как проверка орфографии, распознавание URL-адресов, прозрачность, с новыми свойствами, включая Transparent, EnableURL, SpellChecking и новое событие OnLinkClick.

Поля текстовых атрибутов RichEdit были значительно улучшены. Это изображение из демонстрации, которую я использовал в  вебинаре по запуску RAD 11 .

Вы можете найти очень хорошее, подробное освещение в видео Алистера Кристи на YouTube « Улучшения TRichEdit — Delphi # 188 ». Также обратите внимание, что свойство Lines компонента TDBRichEdit теперь является общедоступным.

TreeView с флажками

Другой важной особенностью является добавленная поддержка флажков в элементе управления TreeView платформы. Теперь это доступно в элементе управления TTreeView. Флажки поддерживают несколько состояний и могут быть добавлены в обычную древовидную структуру. Фактически новое перечисление TNodeCheckState может принимать следующие значения: ncsNone, ncsUnchecked, ncsChecked, ncsPartial, ncsDimmed, ncsExclusion.

Ниже вы можете увидеть изображение с TreeView с флажками в действии:

Новый DBLabeledEdit

В этом выпуске также есть один новый фирменный элемент управления VCL, версия LabeledEdit для программного обеспечения — комбинация редактирования и его метки. Это удобно, поскольку вам нужно только управлять положением редактирования, а метка находится рядом (или сверху, в зависимости от конфигурации). Обратите внимание, что в версии с поддержкой данных, когда вы назначаете поле для элемента управления, текущее значение записи отображается в редактировании, а имя поля становится значением по умолчанию для метки. Ниже вы можете увидеть, насколько легко это настроить с помощью меню быстрого редактирования:

TWICImage поддержка нескольких кадров

Класс TWICImage (один из вариантов реализации элемента управления TImage) является оболочкой для компонента Windows Imaging Component. Немногочисленная функция этого класса-оболочки — поддержка нескольких фреймов. Это отображается двумя новыми свойствами: FrameCount и FrameIndex. Вы устанавливаете FrameIndex, чтобы указать желаемый кадр из многокадрового изображения (например, многокадрового файла TIFF).

И многое другое

Стоит упомянуть множество более мелких функций, поскольку они могут принести немедленную пользу вашим существующим приложениям:

  • Coolbar имеет поддержку Chevron через новое логическое свойство ShowChevron.
  • Базовый класс TWinControl теперь предлагает методы LockDrawing и UnlockDrawing для отключения и управления обновлением. Это запускает выполнение сообщения Windows WM_SETREDRAW. Вероятно, это стоит отдельного сообщения в блоге …
  • Класс TNumberBox имеет несколько дополнительных функций: появилось новое свойство ValueCurrency и теперь опубликовано свойство DisplayFormat.
  • VCL StyleUtils.inc преобразован в обычный блок.
  • Общие диалоги, как раскрыть свойства EncodingIndex и ShowEncodingList
  • Появилось новое событие OnTracking для TTrackbar
  • В TPageControl.FindNextPage есть дополнительный параметр CheckTabEnabled для пропуска отключенных вкладок
  • TButtonCategory имеет свойство VisibleGutter.
  • TScrollBox автоматически поддерживает колесо мыши — обратите внимание, что это изменение может повлиять на поведение существующих приложений.
  • Функция VCL ScaleImage поддерживает альфа-канал
  • Размер формы по умолчанию теперь больше
  • SetSelText и SetSelTextBuf предлагают возможность не сбрасывать буфер отмены.
  • TCustomTitleBarPanel теперь имеет свойства TitleButtonClose, TitleButtonRestore, TitleButtonMin и событие OnUpdateTitlebarButtons.
  • TDateTimePicker позволяет одновременно изменять дату и время в пользовательском интерфейсе.

Заключение

Если у вас сложилось впечатление, что в VCL в RAD Studio 11 появилось много нового… что ж, это правильное впечатление. Вместо того, чтобы использовать совершенно новые компоненты синхронизации, основное внимание уделялось устранению множества мелких пробелов и созданию более современной и надежной библиотеки в целом, поскольку команда также исправила значительное количество открытых проблем. Я надеюсь, что все разработчики, использующие библиотеку VCL, оценят эти усилия, и мы всегда открыты для дополнительных идей и предложений.

Exit mobile version