Zobrazit plnou verzi příspěvku: Ikonky menu v DLL

PepaR
30.04.2007, 08:08
Dobrý den,
jak funguje odkazování na ikonky menu do DLL souboru? Existuje nějaký rozumný popis jak to zkompilovta do DLL souboru apod.?
 
 
Snažil jsem se něco dozvědět z nápovědy na školním AutoCADu 2006, ale hlásilo to chybu, že soubor ynápovědy nelze najít a nemám oprávnění jít do složky AutoCADu, kde je help uložen.

Vladimír Michl
30.04.2007, 15:31
Stačí vytvořit DLL soubor stejného jména jako MNS (CUI) soubor. Pak už se volají jen názvy jednotlivých bitmap (resource) v tomto DLL - např.:
 
[_Button("Kalkulačka", "LTE_Calc", "LTE_Calc")]C^CStart;calc.exe
 
Pro kompilaci BMP bitmap do DLL lze použít Visual Studio nebo jakýkoliv programátorský nástroj.

Rostislav Říha
30.04.2007, 16:13
- když nejsem programátor a nemám visualstudio, mám smůlu, nebo jinou možnost?:)
 
- když už mám cui soubor, jak ho upravím, aby pracoval s DLLkovými názvy (bez přípon) místo s názvy obrázků?
 
- existuje nějaký nástroj, jak hromadně odstranit u ikon pozadí (tj. aby pozadí přebíraly z pozadí lišty (jako to dělají originální ikony)
 
- proč u některých ikon pozadí ručně odstranit lze a u jiných ne? jaký je správný formát na uložení?

PepaR
30.04.2007, 16:20
Pan Říha položil další otázky za mě. Díky PepaR2007-04-30 16:21:58

Rostislav Říha
30.04.2007, 16:23
[QUOTE=PepaR]Pan Říha položil další otázky za mě. Díky [/QUOTE] já spíš doufám, že nám na ně odpoví:)

Rostislav Říha
30.04.2007, 16:32
počkejte, to ono jde zpětně upravit už zaslaný příspěvek???

Rostislav Říha
30.04.2007, 16:32
...aha:)

Vladimír Michl
30.04.2007, 16:43
ad 1) Vytváření resource souborů je "programátorská činnost", takže nejlépe je sáhnout rovnou po používaných nástrojích. Dají se využít i jiné aplikace, ale stejně musíte znát typy resource objektů, aktualizace, verzování, atd. Pro bežné uživatelské úpravy postačí individuální BMP soubory.
ad 2) ručně - viz uvedená ukázka (v podstatě smažete příponu .BMP)
ad 3) pokud jste ikony vytvářel už s průhledným pozadím není to potřeba, v opačném případě zase není jak zjistit co je pozadí
ad 4) vymazáním pixelů v editoru ikon se daná oblast zprůhlední (teoreticky by mělo fungovat i nastavení barvy na 192,192,192 ale nezkoušel jsem to)
 
 

Rostislav Říha
30.04.2007, 17:11
[QUOTE=Vladimír Michl]ad 1) Vytváření resource souborů je "programátorská činnost", takže nejlépe je sáhnout rovnou po používaných nástrojích. Dají se využít i jiné aplikace, ale stejně musíte znát typy resource objektů, aktualizace, verzování, atd. Pro bežné uživatelské úpravy postačí individuální BMP soubory.[/QUOTE]
mame uz x let postupne do novych verzi pretahovane menu - ikonek je nekolik set....dll by bylo pohodlnejsi - asi...u ikon vadi:

dlouho se natahuji v cui editoru (dll by to zrychlilo?)
pri vytvareni novych se obcas udelaji do nesmyslnych adresaru (nevim, cim toto chovani je) a pak se pri pretahovani do spravneho snadno pochybi
[QUOTE=Vladimír Michl]ad 2) ručně - viz uvedená ukázka (v podstatě smažete příponu .BMP)[/QUOTE]
viz výše - vzhledem k počtu pro mne to ruční mazání není zrovna ta super cesta...
 
[QUOTE=Vladimír Michl] ad 3) pokud jste ikony vytvářel už s průhledným pozadím není to potřeba, v opačném případě zase není jak zjistit co je pozadí[/QUOTE]
opet viz vyse - ikony vznikaly postupne na ruznych pocitacich - barva pozadi je ale vzdy odlisna od barev, pouzitych pro kresbu ikony - takze treba ve photoshopu si umim udelat davku, ktera tu barvu smaze a necim nahradi...jen nevim:

cim tu barvu nahradit
s jakymi options ty obrazky ukladat
[QUOTE=Vladimír Michl] (teoreticky by mělo fungovat i nastavení barvy na 192,192,192 ale nezkoušel jsem to)[/QUOTE]
192 jsou čísla RGB palety? dá se to ověřit?
 
děkuji
rr

Rostislav Říha
30.04.2007, 17:12
ještě poznámka:
dá se z cui zpětně vytvořit mns? aby šlo upravovat přes "seek n destroy"?:)

PepaR
30.04.2007, 17:45
Z CUI lze soubor MNU iudělat pomocí nástroje, link na něj je v nějakém starším tématu.
 
Na to odstranění pozadí bych použil např. ArtIcons, kde je funkce pro nahrazení barvy.
 
To DLL by mi taky bodlo, ale nevím jak a čímt přesně to zkompilovat. neporadil by někdo?

alfred
30.04.2007, 18:07
Používám ResourceHacker. http://www.angusj.com/resourcehacker/ Program dokáže ve vytvořené DLL editovat ikony.

PepaR
30.04.2007, 18:15
RH znám, nu, ale čím tu DLL vytvořit? Nebo by stačilo vzít nějakou DLL knihovnu a našupat do ní ikonky?

alfred
30.04.2007, 18:37
Přesně tak, vezmeme nějakou pěkně uleželou DLL, smažeme z ní všechny ikonky a dáme nové. Je to ale docela práce, BMP ikonek se vkládají po jedné...A kde vzít nějakou DLL? Třeba v Expres tools je jedna...A nebo z mailu, který jsem Vám 14.4. posílal...  (toolbary.DLL)...

PepaR
30.04.2007, 18:43
To mě napadlo, ale nebude to čistá práce ;)

vknop
30.04.2007, 20:48
[QUOTE=alfred]...smažeme z ní všechny ikonky a dáme nové. Je to ale docela práce, BMP ikonek se vkládají po jedné...[/QUOTE]
Proč? Není od věci občas prubnout Help. Třeba kapitola "Commandline Scripting"...
(Bavíme se ResourceHackeru)

Rostislav Říha
07.05.2007, 13:53
jeste poznamka - ono je to i naopak: clovek ma novou verzi s novym menu, to ma ikonky nekde v dll, clovek upravuje prikazy a ikonky prestanou poslouchat - lze nejak obracene dostat vsechny ikonky z dll ven do bitmap?

PepaR
07.05.2007, 13:55
Ano např. Restorator nebo ResHacker to umí.