Форум » GUI » Формат иконок в ехе-файле ? » Ответить

Формат иконок в ехе-файле ?

Andrey: Всем привет ! Кто знает в каком формате Borland 5.51 сохраняет иконки в ресурсах ехе-файла ? По идеи должны быть PE32 ресурсы, но может я не прав... Если это не PE32 ресурсы, то как привести иконки в PE32 ? Вот тестовый пример - https://cloud.mail.ru/public/3mNs/eVp4CfLFE

Ответов - 52, стр: 1 2 3 All

Dima: Andrey Погугли http://pvbookmarks.readthedocs.org/en/master/devel/IDEs/GNU_minGW/windres/windres.html Возможно скобки ({}) там не нужны

ММК: Andrey пишет: Остаётся BCC и MSC. Под BCC мало что поддерживают, уходит в прошлое. Ну не так уж чтоб совсем ...:( Есть ВСС7.1 и ВСС7.1-64 Посмотри ResHacker . Он создает RC и DLL. Использую с FWH , работает хорошо. Синтаксис вроде похож на MiniGu , может поможет ...

Haz: ММК пишет: Ну не так уж чтоб совсем ...:( Есть ВСС7.1 Есть подозрение что в BCC7 х 32 компилятор ресурсов BRCC остался от версии 5 Во всяком случае в той сборке что я видел - BCC7.0 компилер BRCC32 был от 5.40.


ММК: Haz пишет: Во всяком случае в той сборке что я видел - BCC7.0 компилер BRCC32 был от 5.40. Ну , что сказать :) По размеру и датам они разные, а содержимое... ??? Да и под 64 разряда наверняка переделывали. Это я о 7.1

Andrey: ММК пишет: Посмотри ResHacker . Он создает RC и DLL. Использую с FWH , работает хорошо. Синтаксис вроде похож на MiniGu , может поможет А какой версией пользуешься ? Как в FWH можно вывести иконку нужного размера (из одного файла библиотеки иконки из ресурсов в ехе-нике) на форму и кнопку ? Приведи пожалуйста синтаксис, если можно то лучше небольшой пример. В МиниГуи этого сделать не могу.

ММК: Andrey пишет: А какой версией пользуешься ? Как в FWH можно вывести иконку нужного размера (из одного файла библиотеки иконки из ресурсов в ехе-нике) на форму и кнопку ? Приведи пожалуйста синтаксис, если можно то лучше небольшой пример. В МиниГуи этого сделать не могу. Версия не имеет особого значения, как и пр-ма. Это может быть WorkShop к примеру.. Вы попробуйте сделать RC любой из таких пр-м и посмотрите. Уж синтаксит там стаандарту будет соответствовать. Во всяком случае в FWH это работает и с ВСС и с MSVC 2015 В FWH можно использовать картинки разного формата, но мне больше нравятся BMP. С размером проблем нет. Иконки очень редко, например так : В пр-ме. ...... Local oBrush,oFon1,oFon2,oFon3,oIcon DEFINE ICON oIcon NAME "ICON_1" DEFINE WINDOW oWnd TITLE 'СООО "Ингман мороженое" v 13.0' ; FROM 1, 1 TO 40, 135 ; ICON oIcon ; MENU BuildMenu() ...... В RC #include "..\include\winapi.ch" ICON_1 ICON "Aun.ico" ON BITMAP "..\bitmaps\checkon.bmp" OFF BITMAP "..\bitmaps\checkoff.bmp" Для DLL в пр-ме SET RESOURCES TO "MAK.DLL" // MAK.DLL здесь держу всякую всячину Вариантов использования много. Например заставка для окна так- hBmp = LoadBitmap( GetResources(), "M416" ) ACTIVATE WINDOW oWnd MAXIMIZED; ON PAINT (GradientFill( hDC,0,0, oWnd:nHeight, oWnd:nWidth, aGrad,.F. ) ,IF( hBmp != 0, DRAWMASKED( hDC,hBmp,75,95),) )//; // ON INIT (ownd:Center()) ; Для TsBrows b TsBUTTON (это разработка одного человека ) так - DEFINE SBUTTON GROUP OF oBa ADJUST; RESOURCE "B2", "B2",, "B2" ; TOOLTIP "Сделать копию " ; Action (NorCop(),oBrw:Refresh(),oBrw:SetFocus()); LOOK W97 //; где "B2", "B2",, "B2" имена BMP в DLL И т.д.

ММК: Вот пример , где иконка используется для анимации ( иконка в ДЛЛ ) // Animations using Icons and Timers #include "FiveWin.ch" static oWnd //----------------------------------------------------------------------------// function Main() local oBrush #ifdef __CLIPPER__ SET RESOURCES TO "Animat16.dll" #else SET RESOURCES TO "Animat32.dll" #endif DEFINE BRUSH oBrush STYLE TILED DEFINE WINDOW oWnd FROM 1, 1 TO 20, 60 ; TITLE "Icons & Timers" BRUSH oBrush SET MESSAGE OF oWnd ; TO FWVERSION + FWCOPYRIGHT ACTIVATE WINDOW oWnd ; ON INIT DisplayIcons() return nil //----------------------------------------------------------------------------// function DisplayIcons() local oIco, oTimer static nFrame := 1 @ 2, 2 ICON oIco RESOURCE "ICON1" OF oWnd BORDER DEFINE TIMER oTimer OF oWnd ; INTERVAL 400 ; ACTION ( nFrame := If( ++nFrame > 20, 1, nFrame ) , ; oIco:SetName( "ICON" + AllTrim( Str( int(nFrame) ) ) ) ) ACTIVATE TIMER oTimer return nil

Andrey: ММК пишет: Вот пример , где иконка используется для анимации ( иконка в ДЛЛ ) Если не сложно - выложи пожалуйста рабочий ехе-ник этого примера вместе с dll-кой ! Заранее спасибо !

ММК: Andrey пишет: Если не сложно - выложи пожалуйста рабочий ехе-ник этого примера вместе с dll-кой ! Заранее спасибо ! Ну и куда? :) Давайте адресок- на почту кину...

Dima: ММК пишет: Ну и куда? :) У него в профиле мыло живет :)

ММК: Dima пишет: У него в профиле мыло живет :) Все сделал , как ты сказал :)

Andrey: ММК пишет: Давайте адресок- на почту кину... Давай уже на ты ! Спасибо большое ! Посмотрел. А там только иконка 32х32. А другие размеры иконок в FW есть: 48х48, 64х64, 96х96 ? В миниГуи есть ! Вот пример - https://cloud.mail.ru/public/3mNs/eVp4CfLFE

Haz: Andrey пишет: В миниГуи есть ! Э... "простите мне мой французский" (с) ... Мне кажется, что данный поворот вопроса - в никуда Какая разница мини или файв - это всего лишь надстройка , позволяющая КОМПИЛЯТОРУ BCC сформировать объектный PCODE для КОМПАНОВЩИКА ILINK. Ресурсы из RC скрипта компилируются тем же BRCC и передаются в виде RES файла туда же в ILINK. Меряться иконками в двух языках, которые в итоге собираются одним и тем же борландом, это все равно что сравнивать чей светофор зеленее. Имеет смысл либо сравнивать разные компиляторы BCC, MINGW, MSVC и пр. или как минимум разные разрядности одного компилятора 32 и 64. все вышесказанное - ИМХО , но кто сможет опровергнуть - с удовольствием все почитаем

Andrey: Haz пишет: Меряться иконками в двух языках, которые в итоге собираются одним и тем же борландом, это все равно что сравнивать чей светофор зеленее. Да я не мерюсь. Просто беда с отображением картинок на форме. В других языках добавил один файл иконок с разными расширениями и тягаешь на форму нужный тебе размер иконок. А в МиниГуи пытаешься сделать красивый вид окна и начинаешь экспериментировать - изобретать велосипед как в других языках. PNG-файл с окантовкой черной вылазит и сменить фон у него проблематично.... Вся жизнь в борьбе за красоту интерфейса ... Вот очередной тест что может пригодиться для интерфейса: кнопочки, иконки .... https://cloud.mail.ru/public/4F2B/wvGXVyp3z На иконке остановился из за того что на любой цвет можно положить на форму и не будет черной окантовки вокруг иконки. На кнопку можно положить (я так понял) ICO и BMP. С иконкой выходит красиво, с BMP уё ! Может что не так делаю ? Если можно что-то добавить, то буду очень рад.

SergKis: Andrey пишет:В других языках добавил один файл иконок с разными расширениями и тягаешь на форму ... Кто мешает тебе изучить DEFINE IMAGELIST ... и функции IL_..., есть примеры на применение, смену фона ...

Andrey: SergKis пишет: Кто мешает тебе изучить DEFINE IMAGELIST ... и функции IL_..., есть примеры на применение, смену фона ... А я не знал... Буду смотреть. Спасибо за наводку ! Вспомнил. Оказывается раньше смотрел, перед тем как уйти на PNG. Не понравился мне принцип хранения картинок - неудобен.

Haz: Andrey пишет: 2) Размер ресурсов собранные BCC 5.5.1 не должен превышать размера 500 мб в одной секции, иначе отказ от сборки приложения. а чего так мало то ?

ММК: Haz пишет: превышать размера 500 мб в одной секции, иначе отказ от сборки приложения. а чего так мало то ? Родненькие мои! Да что это за пр-мы вы пишите?! Да в 500 мб можно целый порносайт вместить!

Haz: ММК это не я написал , про полгига, исправь . Мне просто стало интересно откуда эта цифиря

ММК: Извини пожалуйста! Про 500 мб написал Андрей. А ты сказал , что тебе и этого мало!!! :)))



полная версия страницы