Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2007, 18:27   #1
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
Счастье Скин программы

В программе есть форма которая может состоять из картинок или просто кнопок. В зависимости от скина.
Вопрос:
Как сделать так как в Винампе с МОдерн скинами? Чтобы форму перестраивать. Её размеры, положения кнопок, новые кнопки создать и т.д.
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 04.05.2007, 18:31   #2
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

Строишь процедуру, которая по параметрам все это делает.
Параметры пишешь в ini-файл (ручками, либо создаешь программу для
создания скинов для своей проги), либо если ориентир картинки - их
размеры = размеры контролов.
По поводу новых кнопок. Есть много вариантов:
1. Написать Pascal-парсер (равносильно написанию компилятора)
2. Массив контролов (Проблемя памяти - много места займет в ОЗУ)
3. Не использовать стандартных контролов, а обрабатывать всю форму, как единое изображение, проверяя находится ли мышь в заданной
области изображения, ограниченной контуром контрола, тогда решится и
проблема с размерами - чисто размеры изображений контролов.
Visita Interiorem Terrae Rectificando Operae Lapidem...

Последний раз редактировалось Сильванович Михаил; 04.05.2007 в 18:35.
Сильванович Михаил вне форума Ответить с цитированием
Старый 04.05.2007, 18:47   #3
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию

Но мне немного не так надо.
Скажим есть один файл в папке Skins, в этом файле храняться картинки.
Программа сканирует этот файл, находит в нем определённую функцию, если есть такая. значит записывает в переменную что это скин, а все не нужное выбрасывает.
Это чем-то похоже на DLL
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 04.05.2007, 19:43   #4
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

Сорр., не подумал. DLL-система:
В DLL-плагине ставится процедура перечисляющая функции, скрытые
в библиотеке. А потом определнная функция вызывается через
указатель на DLL.
Т.е. тоже самое - храним в ресурсах, и извлекаем из них. А функции для дополнительных кнопок тогда тут же и будут хранится. Придумай имена, по которым возможно легкое перечисление, тип Btn1Clk,Btn2Clk, и т.д.
Либо общая функция, которая по параметру будет возвращать указатели на процедуры, объекты в DLL, либо передавать размеры.

З.Ы. Идея хорошая - подумаю может чем-нибудь помогу - интересно!
Visita Interiorem Terrae Rectificando Operae Lapidem...

Последний раз редактировалось Сильванович Михаил; 04.05.2007 в 20:03.
Сильванович Михаил вне форума Ответить с цитированием
Старый 05.05.2007, 11:10   #5
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию

И поменять расширении dll на что-то подобное .osf она будет работать нормально? и допустим можно запустить её на установку в папку skins и применения в программе? Все как в Винампе
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 05.05.2007, 16:15   #6
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

Со сменой расширения содержание ведь не меняется => работать будет!
Visita Interiorem Terrae Rectificando Operae Lapidem...
Сильванович Михаил вне форума Ответить с цитированием
Старый 08.05.2007, 13:59   #7
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию

Я в DLL полный ноль, поэтому начнем)
1.Нужно в папке Skins найти эти самые DLL и пометить их что это скины и в программу добавить
2.Я не понйму как подключать DLL и использовать их Функции и процедуры.
3.В DLL создать процедуру SknChg из приложения она вызываеться и перестраивает полностью форму F_Main
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 10.05.2007, 18:46   #8
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию

Подскажите тогда как из *bmp считать попиксельно
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 22.05.2007, 16:43   #9
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
Печаль

Помогите реализовать такое:
Цитата:
1.Нужно в папке Skins найти эти самые DLL и пометить их что это скины и в программу добавить
, точнее только метку добавить, зачем загружать полностью ДЛЛ
2.Возможно ли функцией ДЛЛ перестроить форму в программе?

Хочу реализовать как со скинами в WinAmp Skins Moredn
ПОМОГИТЕ КТО ЧЕМ МОЖЕТ
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума Ответить с цитированием
Старый 22.05.2007, 22:47   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

1. Ну может статейки какие про dll почитаешь, не все же за тебя делать?
2. Возможно, только форму надо будет параметром в функцию длл отправлять
pu4koff на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск программы на выполнение из другой программы. ViNcHeStEr Паскаль, Turbo Pascal, PascalABC.NET 6 18.06.2008 14:33
Научу делать скин JoanM Фриланс 2 29.04.2008 13:45
Scroll bar - делаем скин BOBAH13 Компоненты Delphi 7 26.04.2008 14:51
Две программы Манжосов Денис :) Софт 2 26.04.2008 12:29
Как сделать для своей проги скин? C++ Builder 6. Dunhil Помощь студентам 1 30.12.2007 13:37