![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
chip_and_dayl |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 1 Всего: 9 |
Всем привет. Есть следующая задача:
Изменение интефейса программы (цвет форм, картинки на кнопках, шрифты и т.д.). Изменение интерфейса происходит впервые, проект большой, поэтому хотелось оптимизировать это дело таким образом, чтобы при следующем изменение интерфейса затраты времени были меньше. Я пока вижу все это так: - все цвета и шрифта вынести в ресурс или константы - картинки в ресурсы и при создание формы все это подгружать. Таким образом при следующем изменение интерфейса достаточно будет обновить ресурс и файл с константами. Не знаю на сколько такой подход эффективный, может есть другие? З. Ы. Под изменением интерфейса не подразумевается перестановка контролов. А только изменение цветов, шрифтов и картинок Всем заранее спасибо:) -------------------- Фсё будет хорошо!!! |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 2 Всего: 19 |
Заморачивался я с этим - не хорошее решение получается(хотя тоже много читал про ресурсы). Лучше картинки вынести в что-то типа imagelist. Для крупных, что-то типа TGDIPPictureContainer от TMS, просто у меня там была одна затыка и решил её только при помощи этого компонента. Переставлять возможно придётся, потому как если меняется высота шрифта, то бывают казусы в виде выпадающего списка в пару пикселей шириной(делал программу наверное для слепых или людей с -40, потому что они ставят самый большой шрифт и ещё разрешение 800х600) Не видя в целом задачи скажу только, что можно параметры хранить в БД(если используется БД) привязывая конкретно к пользователю. Либо в INI-файлах, если программа не работает с БД. Можно сделать нечто вроде Скинов, но тогда надо разработать некоорую структурку и класс с параметрами, который придётся инициализировать каждый раз при запуске. Инициализация структруры или класса не занимает много времени, даже если там 50-100 элементов(без учёта параметров), но зато есть удобство. А если просто так сказать на одно-два изменений, то конешно константы рулят, причём желательно их вынести в отдельный pas-файл. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
chip_and_dayl |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 603 Регистрация: 22.4.2007 Где: Украина, Киев Репутация: 1 Всего: 9 |
Поступил как писал выше
Почему так?
В следующий раз изменения будут делаться таким образом что ничего не изменять(в плане перестановки, и размеров: высота, ширина). В худшем случае, можно будет вручную поправить.
само собой понятно:) -------------------- Фсё будет хорошо!!! |
||||||
|
|||||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 2 Всего: 19 |
Были проблемы при передаче проекта через репозиторий... Да и в общем получается не гуд, потому что ребята не могут использовать мои картинки с легкостью(это ж надо знать что и куда я положил). А также проблемно создавать в DesignTime тулбары(кнопки, всякие репозитории настроек делать) и настраивать их. IMHO загруженные картинки в imagelist тоже находятся в ресурсах, но т.к. я использую компоненты DevExpress, то видимо они имеют какой-то свой формат ресурсов, по крайней мере в явном виде я их не видел внутри экзешника. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |