18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
1 | |
Создание dll для поддержки скинов05.07.2011, 12:41. Показов 8283. Ответов 74
Метки нет (Все метки)
Добрый день, понадобилась помощь в разработке dll для поддержки скинов в других ЯП, сам пишу на AutoIt но там не очень хорошо создавать скины,вся графика находится снаружи скрипта и защиты ни какой, пробую написать на PureBasic, там есть функции по созданию PAK архивов, по моему от туда можно загружать графику и одевать окно не извлекая ни чего из архива, листаю справку по PureBasic 2ой день, пока не очень понятно,так как переход с одного языка на другой сложноват, прошу помощи у знающих людей в создании dll, с чего начать и как двигаться дальше, если есть примеры, хотелось бы очень увидеть, заранее спасибо.
0
|
05.07.2011, 12:41 | |
Ответы с готовыми решениями:
74
Использование скинов для приложения Как установить классы скинов для c# Компонент для создания шкурок (скинов) Установка скинов для Visual Studio |
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 18:59 | 2 |
Проблемы с созданием dll или с кодом скинов?
Сразу скажу, тема не простая (про поддержку скинов). Сделать можно, но для этого нужно нормально владеть языком и знать WinAPI. Если изучаете язык всего второй день, то будет очень сложно - сначала нужно хоть немного выучить язык и усвоить все его особенности. Для начала прочитайте это. http://www.pure-basic.narod.ru... tents.html
1
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
05.07.2011, 19:34 [ТС] | 3 | |||||
Спасибо большое за ссылку,буду учить,я понимаю что это очень сложная задача,просто с одного языка прыгать на другой очень трудно, по мере своих возможностей постараюсь понять PureBasic и разобраться с ним, в создании dll быстрота не нужна в смысле она не срочно мне нужна, пусть плывёт по своей калие , первое что нужно реализовать - это скин самого окна, элементы потом, я думаю так лучше будет, за помощь и отзыв +1
Я вот так скин окна прогружал:
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 19:47 | 4 |
Функции из Packer?
Предположим что в файле MySkin.pak уже упакован один рисунок. Код
ProcedureDLL LoadSkin(hWnd) If OpenPack("MySkin.pak") *Point=NextPackFile() Size=PackFileSize() If *Point And Size>0 hBitmap = CatchImage(0, *Point, Size) If hBitmap SkinWin(hWnd, hBitmap) EndIf EndIf ClosePack() EndIf EndProcedure Код
ProcedureDLL LoadSkin(hWnd) hBitmap = CatchImage(0, ?im1, ?im1end-?im1) If hBitmap SkinWin(hWnd, hBitmap) EndIf EndProcedure DataSection im1: IncludeBinary "Image.bmp" im1end: EndDataSection
1
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
05.07.2011, 19:50 [ТС] | 5 |
Вот это пояснение, спасибо огромное выручаете, буду постепенно учится и добавлять функции в dll, а например если в паке не одна картинка находится а несколько,одна на окно, другая на кнопки, как быть, или это по ходу дела?
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 20:01 | 6 |
Это уже зависит от того, нужно ли все скиновые файлы спрятать в dll или можно чтобы они были в отдельном файле.
0
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
05.07.2011, 20:03 [ТС] | 7 |
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 20:06 | 8 |
Тогда действительно лучше отдельный файл.
0
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
05.07.2011, 20:44 [ТС] | 9 |
Протестировал код,работает на ура, только тянуть за окно нельзя и Title окна не показывает, Title по моему можно вывести через DrawText !?
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 20:49 | 10 |
Окно что без заголовка?
0
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
05.07.2011, 20:51 [ТС] | 11 |
Да на этом ЯП приходится окну указывать стиль POPUP что бы картинка прорисовывалась лучше и была с прозрачными краями - то есть с закруглёнными
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 20:59 | 12 |
Тогда нужно самому формировать заголовок окна с надписью и кнопками.
0
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
05.07.2011, 21:03 [ТС] | 13 |
А как это сделать? ,а лучше по моему вернутся к паку чтоб к нему не возвращатся,загрузить в пак все картинки элементов окна и после написания нужной функции вызывать нужную графику из пака? хотя как знающий человек больше меня в PureBasic, Вы лучше знаете последовательность действий
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 21:21 | 14 |
Тема довольно сложная и на пальцах не объяснить.
Нужно также хорошее знание WinAPI для реализации этого проекта. В пак, файлы добавляются вызовом функции AddPackFile.
1
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
05.07.2011, 21:48 [ТС] | 15 |
Да, в пак я умею добавлять,я также все функции раздела пак добавил в dll чтобы была возможность в другом ЯП запаковывать файлы.
Добавлено через 25 минут А где можно про WinAPI почитать? а лучше с примерами
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 21:59 | 16 |
На сайте http://microsoft.com
1
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
05.07.2011, 22:01 [ТС] | 17 |
Спасибо, я тогда пошёл изучать и завтра буду
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
05.07.2011, 22:14 | 18 |
Эм...
Там WinAPI функций как собак нерезаных! Надо изучать не все подряд, а только то, что непосредственно связанно с работой с окнами.
0
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
06.07.2011, 21:40 [ТС] | 19 | |||||
Хорошо
Добавлено через 12 часов 36 минут Я посмотрел WinAPI и нашёл такую функцию CreateWindowsEx её можно ставить как кнопкой также и любым статическим элементом
Мне сказали что из пака нельзя будет всё её содержимое вернуть,я подумал а какой смысл тогда пака....
0
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
07.07.2011, 10:16 | 20 |
Интересно кто такое сказал?
Да, по умолчанию имена файлов не сохраняются, но сами файлы-то в паке и их можно извлечь от туда в той же последовательности как их добавили в пак.
0
|
07.07.2011, 10:16 | |
07.07.2011, 10:16 | |
Помогаю со студенческими работами здесь
20
Создание dll для Hook' ов Создание dll в delphi для 1С создание dll для подключения к бд oracle Создание dll для связи бд с API Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |