Переключение типов элементов управления (но не имен) для множества элементов управления в форме в Delphi - PullRequest
4 голосов
/ 20 января 2009

Мне нужно переключить каждый элемент управления определенного типа в форме на другой тип, сохраняя имя и код, связанный с каждым элементом управления.

Например, допустим, мне нужно переключить дюжину или более полей TEdit на TSpinEdits. Как я могу сделать это в Delphi 2007 с минимальными усилиями?

Ответы [ 3 ]

14 голосов
/ 20 января 2009

Используйте эксперта GExperts Replace Components. Он бесплатный и единственный инструмент, который я видел, который выполняет то, о чем вы просите, включая отображение свойств старого компонента на новый.

9 голосов
/ 20 января 2009

Если вам не хочется использовать какие-либо внешние инструменты, вы всегда можете попробовать переключиться, чтобы просмотреть форму в виде текста, а затем выполнить поиск и заменить TEdit на TSpinEdit. Когда вы вернетесь назад и сохраните форму, среда IDE сообщит вам, что объявления в файле .pas неверны, и предложит исправить их автоматически. Сопоставление свойств не должно быть проблемой, если только нет свойств с именами, которые вы хотите отобразить из одного класса в другой. Свойства, которые не существуют в новом классе, будут удалены. Так или иначе это работает в Delphi 7 ...

Если вас не устраивают результаты, вы можете попробовать GExperts в соответствии с рекомендациями Крейга, которые по многим причинам являются отличным дополнением к IDE.

1 голос
/ 06 августа 2009

Я использую заменитель компонента CNTools (не нашел его в GExperts), у него тоже есть хорошая функция выбора компонентов, поэтому вы можете выбрать несколько элементов управления на основе одного простого запроса.

...