Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Может здесь кто знает как сделать Skin   Найти похожие ветки 

 
maxim2 ©   (2002-08-21 12:51) [0]

Привет!
Кто знает как сделать Skin к проге?


 
murza   (2002-08-22 12:17) [1]

Есть замечательная идея:
Прикол заключается в том, что можно загружать форму (или) отдельный компонент из DFM файла динамически.

1) Делаешь форму, которую хочешь заскинить, делаешь на ней action-ы.
2) Потом делаешь скины - правишь DFM файл, добавляешь и изменяешь контролы, устанавливаешь обработчики. Только удали вещи, которые не должны изменятся - например action-ы
3) Когда надо загрузить скин пишешь примерно следующее
TComponent *StringToComponent(AnsiString as, TComponent *Instance)
{
TMemoryStream* pms = new TMemoryStream();
TStringStream* pss = new TStringStream(as);
TComponent *pc;
try {
ObjectTextToBinary(pss, pms);
pms->Seek(0, soFromBeginning);
}
catch(...) {
ShowMessage("Streaming error.");
}
pc = pms->ReadComponent(Instance);
delete pms;
delete pss;
return pc;
}

Я понимаю, что форум для дельфистов, но я думаю надо будет - разберешься.
Удаляешь с формы те компоненты, которые могут изменятся, те которые есть в файле скина
Вызываешь вышеозначенную процедуру, указав ей в качестве параметра твою форму.

Возможности изменения формы огромны. Фактически все, что ты можешь изменить в билдере, не редактируя код, можешь изменить таким способом.

ЗЫ если укажешь новые компоненты, которых раньше не было возникнет ошибка. Чтобы избежать этого необходимо зарегистрировать все классы, которые могут встретиться в скинах:
Classes::RegisterClass(__classid(TEdit));

Еще раз извияюсь у завсегдатаев форума, посвященного дельфи, но, ИМХО, билдер - форева!!!



Страницы: 1 вся ветка

Текущий архив: 2002.09.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-3434
kserg@ukr.net
2002-08-21 15:33
2002.09.02
помогите


14-3625
Nikoss
2002-08-07 23:33
2002.09.02
Подскажите, где можно скачать маленькие картинки для меню и фалы


1-3338
Elena_K
2002-08-20 11:28
2002.09.02
---|Ветка была без названия|---


1-3455
-= Like =-
2002-08-19 15:20
2002.09.02
Как прочитать описание .CPL файла?


4-3656
maxi
2002-06-23 00:50
2002.09.02
Прога жрет память. Ваше мнение ?