|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
Создание dll для поддержки скинов05.07.2011, 12:41. Показов 9360. Ответов 74
Метки нет (Все метки)
Добрый день, понадобилась помощь в разработке dll для поддержки скинов в других ЯП, сам пишу на AutoIt но там не очень хорошо создавать скины,вся графика находится снаружи скрипта и защиты ни какой, пробую написать на PureBasic, там есть функции по созданию PAK архивов, по моему от туда можно загружать графику и одевать окно не извлекая ни чего из архива, листаю справку по PureBasic 2ой день, пока не очень понятно,так как переход с одного языка на другой сложноват, прошу помощи у знающих людей в создании dll, с чего начать и как двигаться дальше, если есть примеры, хотелось бы очень увидеть, заранее спасибо.
0
|
|
| 05.07.2011, 12:41 | |
|
Ответы с готовыми решениями:
74
Использование скинов для приложения Как установить классы скинов для c# Компонент для создания шкурок (скинов) |
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
| 07.07.2011, 10:49 [ТС] | |
|
Ясно,это хорошо,я просто хочу сначала разобраться через что легче делать скин,через *.pak или *.rss !?
и что сначала нужно сделать?
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||
| 07.07.2011, 10:54 | ||
|
Как сделаешь, так и будет. Но если нужна совместимость со стандартным, скиновым rss - нужно ознакомиться со структурой файла и написать код для работы с ним.
0
|
||
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
| 07.07.2011, 11:17 [ТС] | ||||||
|
Ясно,а не подскажите где ознакомится со структурой rss скинов?
И не могу ещё поставить кнопку в окно, если указываю просто число,то ставится, а если так то нет нужно сначала отмерить длину окна и отнять n число пикселей, чтоб кнопка при изменении размера окна оставалась на том же месте
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||||||
| 07.07.2011, 11:32 | |||||||
1
|
|||||||
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
| 07.07.2011, 11:42 [ТС] | |
|
Ясно, буду запоминать,я также поставлю кнопки minimize и maximize, только как отлавливать их нажатие и выполнять действие которое они должны выполнить, если через While то у меня просто окно не появится, а в dll будет цикл обработки кнопок
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 07.07.2011, 12:16 | |
|
Нужно получить с помощью WunAPI функции GetWindowLong адрес функции окна, запомнить его и подменить на свой, функцией SetWindowLong.
В процедуре контролировать событие #WM_COMMAND и если хендл, кнопки и в lParam будут одинаковы, то значит на кнопку нажали.
0
|
|
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
| 07.07.2011, 12:22 [ТС] | ||||||
|
Это что-то вроде этого
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||||||
| 07.07.2011, 12:35 | |||||||
1
|
|||||||
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
| 07.07.2011, 12:45 [ТС] | ||||||
|
Я решил не заморачиваться и делать как легче,сам не понимаю basic и решил профессиональный скин сделать...самому смешно,решил всё таки делать как Вы привели пример с загрузкой картинки в саму dll, а потом на основе уже этой dll буду просто менять картинки и указывать новые параметры,но здесь есть ещё одна существенная проблема, если я ставлю картинку на окно,то окно должно быть такого же размера как и картинка,можно ли наоборот сделать, если изменить размер окна то и картинка изменит свой размер под размер окна?
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||||||
| 07.07.2011, 13:27 | ||||||
|
Нужно контролировать событие #WM_SIZE.
В wParam будет тип события, а в lParam, текущий размер окна.
1
|
||||||
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
| 07.07.2011, 22:12 [ТС] | ||||||
|
Спасибо,но пока туговато доходит (куда что ставить) и я имел ввиду чтоб не вся картинка изменялась - потому как там будет как у обычного окна где пишется заголовок синяя линия за которую тянуть, так и на картинке есть, если изменить размер картинки то изменится эта линия и потеряется качество, а делать допустим делим картинку на 9 частей, должны изменятся только 4 из них (Верх-Середина),(Низ-середина),(левый бок-середина) и (Правый бок середина)
У меня окно закрывается,а процесс остаётся работать
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||||||||||
| 08.07.2011, 00:43 | |||||||||||
|
Можно попробовать сделать так
1
|
|||||||||||
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
| 08.07.2011, 13:31 [ТС] | |
|
Работает
![]() Вот макет картинки сделал, то что красным должно изменять размер если изменился размер окна,то что не выделено красным должно оставаться на своём месте не зависимо от размера окна.
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 08.07.2011, 13:54 | |
|
Код создания картинок уже написан?
Как я писал выше, нужно обрабатывать событие #WM_SIZE и с помощью WinAPI функции MoveWindow_ перемещать рисунки так, чтобы они были на своих местах в окне.
1
|
|
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
|
| 08.07.2011, 13:57 [ТС] | |
|
Но этот рисунок будет поделен на 9 частей, SkinWin сможет загрузить все 9 кусков на одно окно?
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||||||||||||
| 08.07.2011, 16:36 | ||||||||||||
|
Надо будет в окне создать с помощью WinAPI функции 9 контролов типа "Static" для этих рисунков.
1
|
||||||||||||
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
| 09.07.2011, 23:20 [ТС] | ||||||
|
Вот написал,осталось только размеры изменять, не пойму как, по разному пробывал - не получается, иногда полностью всё вылетало, обновление скина я так понял нужно делать после того как изменится размер окна,как Вы говорили, я поставил WM_SIZE в процедуру WindowCallback но пока не протестировал, вот весь код.
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||||||
| 09.07.2011, 23:55 | ||||||
|
Нужно расположить этот код после события #WM_SIZE и нужно обязательно получить доступ к переменной hWnd_Static1 потому что по умолчанию она не глобальная и доступа к ней из процедуры нет.
1
|
||||||
|
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
|
||||||
| 10.07.2011, 10:45 [ТС] | ||||||
|
Статический элемент скорее всего изменяет свои размеры, но картинка остаётся на том же месте и не меняется
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 10.07.2011, 12:06 | |
|
1
|
|
| 10.07.2011, 12:06 | |
|
Установка скинов для Visual Studio Создание dll для Hook' ов Создание dll в delphi для 1С создание dll для подключения к бд oracle
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|