[vb6] Waarom ziet icon in systray zo bagger uit?

Pagina: 1
Acties:

  • DPLuS
  • Registratie: April 2000
  • Niet online
Via de ShellNotify API voeg ik een icoontje toe aan de systray.
Alleen viel me op dat het icoontje in de systray er zo "gaar" uitziet.
Hoe kan dat?

Bijvoorbeeld hier (het gaat om hetzelfde icoontje):

Afbeeldingslocatie: http://www.global-antiques.com/temp/icon1.jpg

wordt:

Afbeeldingslocatie: http://www.global-antiques.com/temp/icon2.jpg

  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 12:56

Tukk

De α-man met het ẞ-brein

Het enige wat ik uit mijn mouw kan schudden:

De formaten zijn verschillend, zijn ze allebeide 32*32? Of is die in de systray iets kleiner,
zodat deze verkeerd weergegeven wordt.

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je gebruikt waarschijnlijk een icon van 32x32...Je zult 16x16 nodig hebben wil je dat windows niet gaat zitten resizen.

Ook komt het wel eens voor dat de dpi-instelling op 120 i.p.v. 96dpi staat (ergens bij je beeldscherminstellingen->geavanceerd) en dan krijg je een of andere vage 20x20resolutie...Maar zo te zien is dat niet het geval hier.

[ Voor 7% gewijzigd door RobIII op 10-01-2004 18:18 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • DPLuS
  • Registratie: April 2000
  • Niet online
RobIII schreef op 10 januari 2004 @ 18:16:
Je gebruikt waarschijnlijk een icon van 32x32...Je zult 16x16 nodig hebben wil je dat windows niet gaat zitten resizen.
Ik heb het desbetreffende icon eens bekeken met de icon-editor van Visual Studio 2003 en het bleek inderdaad een 32x32 icon te zijn.
Ik heb hem daarna ge-resized naar 16x16 icon en opgeslagen, maar het icoontje ziet er dan nog altijd zo uit als hierboven...

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Heb je de 16x16 versie in hetzelfde icon staan als de 32x32 versie en zoja hoe laad je het icon dan? Want LoadIcon laadt alleen icons in standaardformaat (32x32 meestal) IIRC, LoadImage pakt wel de goede.

www.madwizard.org


Verwijderd

d

[ Voor 99% gewijzigd door Verwijderd op 10-01-2004 20:39 ]


Verwijderd

DPLuS schreef op 10 januari 2004 @ 18:56:
[...]
Ik heb het desbetreffende icon eens bekeken met de icon-editor van Visual Studio 2003 en het bleek inderdaad een 32x32 icon te zijn.
Ik heb hem daarna ge-resized naar 16x16 icon en opgeslagen, maar het icoontje ziet er dan nog altijd zo uit als hierboven...
1. Tsja, je moet de 16x16 icon natuurlijk wel bewerken, zodat hij er goed uitziet. Desnoods maak je gewoon een nieuwe.
2. Daarnaast heb je ook te maken met een ander achtergrond wat mee zou kunnen spelen. Bij de ene blauw en de ander grijs.

  • Delpix
  • Registratie: September 2001
  • Laatst online: 27-11-2021

Delpix

Alanis Fan

Windows toont de icoon ook in 16 kleuren in de systray. Messchien is dat het. Alleen xp kon dacht ik ook hogere kleuren aan.

...beter bekend als AMFan


  • Sluuut
  • Registratie: Februari 2003
  • Laatst online: 22-05 16:19
Precies, de tray gebruikt 16 bits en de desktop 32 bits. XP ondersteund inderdaad 32 bits icoontjes in de tray, 9x / Me niet, en 2000 weet ik niet meer zeker..

[ Voor 10% gewijzigd door Sluuut op 11-01-2004 01:36 ]

57696520646974206c65657374206973206e657264


  • cinnamon
  • Registratie: April 2002
  • Niet online
het kan aan mij liggen maar ik heb niet het idee dat nu juist dit icoon beter uit de verf zou komen met 32 bits kleuren

volgens mij moet dit er zelfs met 8 bits redelijk uit kunnen zien

heb je het al bekeken in één of andere iconeditor in 16 bits?

  • DPLuS
  • Registratie: April 2000
  • Niet online
Ik loop net tegen iets vaags aan:
Ik bewerk die icons dus met de icon-editor in Visual Studio 2003.
Maar als ik een 32x32 icon converteer naar 16x16 en daarna opsla, geeft de windows verkenner hem WEL goed weer in het rechter-verkenner venster (dus 16x16), maar als ik dan de eigenschappen opvraag van dat bestand, krijg ik de grotere 32x32 versie gewoon te zien in de originele staat!
Hoe kan ik ervoor zorgen dat die 32x32 informatie helemaal gewist wordt uit dat bestand?

*update*

Het schijnt dat in een *.ico file standaard 2 formaten worden opgeslagen:
een 16x16 versie en een 32x32 versie.
Je kunt het zelf ook repliceren:
Open Visual Studio 2003 -> File -> New -> File
Kies nu een icon file.
Standaard opent VS nu een 32x32 ico bestand.
Kies met rechtermuistoets nu: Current icon image types
en dat voor 16x16.
Het plaatje wordt nu verkleint.
Teken door dit 16x16 bestand een groot kruis en sla dit bestand op.

Browse met je windows verkenner naar het opgeslagen bestand en let op:
in het verkenner venster zie je het 16x16 icoontje met een kruis er doorheen.
Maar als je nu de eigenschappen opvraagt, zie je in het eigenschappen venster de 32x32 versie!
Het rare is dus dat die er ook nog in zit!?!?

De enige manier om dat te omzeilen is door van te voren een 16x16 icon te openen en die dan te bewerken.
Als je die namelijk opslaat dat zit er geen grote versie in...
(Had ik net al geprobeerd namelijk).
Het probleem zit hem dus in het feit dat je systray altijd de 32x32 versie pakt (als 'ie tenminste in je ico-bestand zit) en die gaat 'ie dan zitten te verkleinen.

Iemand ervaringen hiermee?

[ Voor 55% gewijzigd door DPLuS op 11-01-2004 13:39 ]


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Image > Current Icon Image Types, die van 32x32 kiezen en Image > Delete Image Type. Als je de 32x32 niet nodig hebt kun je em natuurlijk beter verwijderen, maar op zich zou het niet moeten uitmaken dat ie er in zit hoor.

edit
Het is normaal meerdere plaatjes (formaten) in 1 icon file te hebben, zo kan windows altijd het beste formaat kiezen afhankelijk van wat ie nodig heeft (16x16 voor lijsten, 32x32 voor icon view, enz.)

[ Voor 35% gewijzigd door madwizard op 11-01-2004 13:41 ]

www.madwizard.org


  • DPLuS
  • Registratie: April 2000
  • Niet online
madwizard schreef op 11 januari 2004 @ 13:37:
Image > Current Icon Image Types, die van 32x32 kiezen en Image > Delete Image Type. Als je de 32x32 niet nodig hebt kun je em natuurlijk beter verwijderen, maar op zich zou het niet moeten uitmaken dat ie er in zit hoor.
Maar ja, dan vraag ik me nog af hoe het komt dat je systray (iig bij mij: W2K) de grote 32x32 versie pakt terwijl er ook een 16x16 versie aanwezig is?

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

DPLuS schreef op 11 januari 2004 @ 13:41:
Maar ja, dan vraag ik me nog af hoe het komt dat je systray (iig bij mij: W2K) de grote 32x32 versie pakt terwijl er ook een 16x16 versie aanwezig is?
Daarom vroeg ik ook hoe je het icon load, LoadIcon doet het iig niet goed.

www.madwizard.org


  • DPLuS
  • Registratie: April 2000
  • Niet online
Daarom vroeg ik ook hoe je het icon load, LoadIcon doet het iig niet goed.
Dan neem ik aan dat dat API-calls zijn? Want nu heb ik gewoon form1.icon = "pad naar icon"

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

DPLuS schreef op 11 januari 2004 @ 13:47:
Dan neem ik aan dat dat API-calls zijn? Want nu heb ik gewoon form1.icon = "pad naar icon"
Dat zijn inderdaad API calls. Ik heb al jaren niet meer met VB gewerkt dus ik heb geen idee hoe VB de icons afhandeld. Gebruik je wel de Shell_NotifyIcon API? En probeer anders eens met de LoadImage API functie het icon te laden, daar gaat het waarschijnlijk wel goed mee.

[ Voor 3% gewijzigd door madwizard op 11-01-2004 13:52 ]

www.madwizard.org


  • DPLuS
  • Registratie: April 2000
  • Niet online
Gebruik je wel de Shell_NotifyIcon API? En probeer anders eens met de LoadImage API functie het icon te laden, daar gaat het waarschijnlijk wel goed mee.
I'll give it a try...
Iig bedankt voor de reacties...

BTW: ja, shell_notifyicon API gebruik ik momenteel...

[ Voor 13% gewijzigd door DPLuS op 11-01-2004 13:54 ]

Pagina: 1