Эксперт (здесь) – это design-time пэкэдж или dll-ка, расширяющая стандартные возможности Delphi.
CnPack Wizards - набор инструментов для Delphi, написанный группой разработчиков из Китая, на данный момент является наиболее мощным и удобным бесплатным инструментом для Delphi. Функционал этого набора просто огромен и способен фантастически упростить работу программиста. Официальный сайт проекта:
Этот набор экспертов в данный момент доступен на 5 языках, включая русский. Проект сопровождается подробной справкой, которая существует пока только в английском и китайском варианте.
В этом посте я расскажу о том, как cnWizards расширяют дизайнер форм Delphi.
В последних версиях Delphi кнопочки дизайнера появляются на отдельном тулбаре, а вот в ранних версиях Delphi они размещались прямо вокруг формы. См. иллюстрацию.
Эти кнопочки появляются при активном дизайнере формы. Они могут выглядеть по-разному, в зависимости от версии Delphi и настроек дизайнера.
Большая часть кнопок включается, только когда в дизайнере выделены несколько контролов. Причём, иногда (например при выравнивании по краю) очень важно, какой из контролов был выделен первым.
Эти кнопки отвечают за позиционирование выделенных в дизайнере контролов. Они позволяют выровнять все контролы по любой из сторон; а также распределить контролы по вертикали/горизонтали (указав расстояние в пикселях между каждым из контролов, либо равномерно распределить контролы в указанном пространстве, либо придвинуть их вплотную друг к другу)
Эти кнопки управляют размерами выделенных контролов. Включаю в себя одновременное увеличению длины/высоты всех контролов. Позволяют растянуть/сжать все контролы в высоту/длину до размеров самого большого/маленького контрола. Умеют установить размер всех выделенных контролов, таким же как и размер самого первого контрола.
Эти кнопки отвечают за позиционирование выделенных контролов внутри родителя (разместить в центре) и за управление z-порядком (отправить контрол в зад, вынести вперёд).
Эти кнопки включают/выключают стандартные фичи дизайнера, такие как привязка к гриду, показ направляющих. А также там есть кнопка позволяющая заблокировать изменение размеров и положение всех контролов в дизайнере. Можно спокойно кликать мышкой по форме, не опасаясь случайно изменить размер/положение какого-либо контрола.
Эти кнопки позволяют (по порядку, слева-направо):
- выделить в дизайнере активную форму (то же самое можно сделать кликнув левой кнопкой мыши с зажатым Ctrl в стороне от выделенных компонентов);
- скопировать имена выделенных компонентов в буфер обмена;
- преобразовать выделенные компоненты в код (создать компоненты и инициализировать свойства);
- спрятать все невизуальные компоненты (dataset-ы, datasource-ы и прочую нечисть);
- упорядочить невизуальные компоненты.
Описание кнопок:
- Селектор компонентов - позволяет выделить компоненты в дизайнере согласно правилам: по имени компонента, по классу, по присвоенному событию (например выбрать все компоненты, у которых один обработчик), по тэгу.
- Запустить корректор свойств, умеющий корректировать свойства согласно правилам. Например, для всех форм у которых свойство Position равно poDesigned заменить на poDesktopCenter, или установить высоту в 21 пиксель для всех кнопок, у которых высота равна 25. Или автоматом установить у всех наследников TDataset свойство Active в False. Корректор свойств умеет работать как с активной формой, так и со всеми формами проекта или группы проектов.
- Запустить корректор префиксов компонентов, который позволит массово и в одном месте переименовать все компоненты с дефолтными именами (типа Label1, Edit3 и т.п.), а также установить им всем соответствующие префиксы.
- Открыть диалог переименования компонента
Эти кнопки отвечают за настройки табуляции (TabOrder):
- включает отображение текущего TabOrder-a прямо на самом контроле (см. картинку ниже). Таб-ы отображаются разными цветами, в зависимости от уровня вложенности контрола;
- включает режим при котором TabOrder для контрола будет автоматически обновляться после изменения его положения на форме;
- запускает автоустановку TabOrder в ручном режиме
- открывает расширенное меню по управлению табуляцией: там можно например, изменить порядок TabOrder только для выделенных компонентов, или сразу для всех форм текущего проекта или группы проектов. Также там можно настроить правила проставления табуляции.
А эти кнопки отвечают за следующее:
- Список форма группы проектов (то же самое что Shift+F12). Открывает диалог, позволяющий увидеть список форм любого проекта в группе, или всех проектов сразу. С удобной фильтрацией. =)
- Поиск и выбор компонента на форме. Открывается диалог позволяющий быстро найти нужный компонент по его имени, классу, тексту.
- Меню для работы со скриптами. CnPack Wizards имеют встроенный скриптовый движок, позволяющий расширить функционал IDE с помощью pascal скриптов, но это тема для отдельного разговора.
Следующий пост в серии: Описание CnWizards часть 2: Расширения редактора кода. Включает в себя работу с букмарками, подсветку синтаксиса и операции с выделенными блоками.
- Последние года 2 я занимаюсь разработкой ERP. До этого 2 года писал CRM. Но такая тема, как системы автоматизации документооборота мне близка и интересна. Как, впрочем и любые темы, относящиеся к оптимизации внутренних процессов компании. Впрочем, пока что мой интерес исключительно теоретический, ибо к управлению компанией у меня пока нет доступа. А хочется. =)
Китайцы молодцы!
ОтветитьУдалить>В последних версиях Delphi кнопочки дизайнера появляются на отдельном тулбаре, а вот в ранних версиях Delphi они размещались прямо вокруг формы
ОтветитьУдалитьВ последних версиях (>= D2005), это регулируется настройкой 'Embedded designer' во вклвдке 'VCL Designer'
2Анонимный, спасибо.
ОтветитьУдалитьУважаю Китайців!!!
ОтветитьУдалитьЗавжди хтів мінімізувати роботу оператора :).