Теперь, когда RAD Studio 11 вышла, я хочу вернуться к некоторым ее новым функциям, начиная с улучшений VCL.
Среди новых функций в Delphi 11, C ++ Builder 11 и RAD Studio 11 есть одна область, которой я очень доволен, — это работа, проделанная командой над основными компонентами VCL, адресованная ряду запросов, ожидающих решения в течение некоторого времени. Коснемся базы по некоторым из них.
Table of Contents
Новый элемент управления 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, оценят эти усилия, и мы всегда открыты для дополнительных идей и предложений.