Как перерисовать приложение Delphi 6? - PullRequest
3 голосов
/ 28 ноября 2010

Я только что получил несколько изображений моего приложения Delphi Pro 6, созданных художником, которые я буду использовать для пересмотра его внешнего вида.Проблема, конечно, в том, что мое приложение, как и любое другое приложение Delphi, использует библиотеку пользовательских элементов управления VCL, и эти элементы управления рисуют сами по себе и таким образом, который зачастую не способствует изменению их внешнего вида.Я также активно использую библиотеку JEDI JVCL с открытым исходным кодом.

Если у кого-то есть какие-нибудь советы, статьи, веб-страницы или что-нибудь, что говорит о работе с изображением, чтобы изменить или изменить приложение Delphi 6Я был бы признателен, если бы знал об этом.Это большое приложение с тоннами сложных потомков TFrame и интенсивным использованием элемента управления страницей JEDI VCL, поэтому переключение на совершенно новую библиотеку компонентов нецелесообразно.

Одна идея, которая у меня возникла, - я не опробовалвсе же нужно взять каждую форму верхнего уровня и вложить ее в другую TForm, изменив свойство Parent текущей формы на новую TForm и установив свойство AlphaBlend текущей формы, чтобы оно было прозрачным.Затем я установил бы новую оболочку или фон TForm хоста на изображение, содержащее новый внешний вид, чтобы оно проливалось через прозрачную форму.Такой подход кажется довольно глупым, и я беспокоюсь о том, как изменить размер, но мне интересно, можно ли его использовать.

Ответы [ 3 ]

3 голосов
/ 29 ноября 2010

Почти у всех скинов есть свои редакторы скинов.Так что вам просто нужно посмотреть один (Крис Торнтон не упомянул AlphaControls и DynamicSkinForm).Затем вам нужно дать своему художнику этот скин-редактор и попросить его перерисовать его с помощью этого инструмента.

3 голосов
/ 28 ноября 2010

Используйте библиотеку скинов, такую ​​как VCLSkin или DevExpress Skins.

0 голосов
/ 02 декабря 2010

Похоже, ваш пользовательский интерфейс и бизнес-логика тесно связаны. Это довольно распространено среди проектов разработки стиля RAD. Вы бы хорошо, чтобы разорвать эту связь. Один из множества архитектурных шаблонов пользовательского интерфейса поможет в этом. Я предпочитаю MVP Passive View , когда это возможно, поскольку он перемещает всю логику из пользовательского интерфейса в классы, которые можно тестировать изолированно. Один из других шаблонов может быть более подходящим в зависимости от архитектуры вашего приложения.

Я буду тупым. Разделение пользовательского интерфейса в существующем приложении - утомительный, а иногда и сложный процесс. Окупаемость наступает тогда, когда вы можете свободно изменять пользовательский интерфейс с минимальными изменениями в логике.

...