The Iconfactory


Home Support Item

Any tips on working with 32-bit Windows icons?

Windows XP introduced 32-bit icons for the desktop. Microsoft has some very detailed instructions on how to create 32-bit icons.

Unfortunately, as with many new technologies, there are some bumps along the road. One of these bumps is getting .ICO files to work well across all Windows platforms (so that the same icon looks as good as possible on both Windows 95 and Windows XP.)

Here are a few pointers that will help you out:

  • Make sure you’re creating the icons with IconBuilder. Not all tools put the icon resources in the right order. If the order doesn’t follow the Microsoft guidelines, they won’t look right.
  • Some tools (most notoriously, Visual Studio 6) will actually bungle the resources if they are opened. What happens is that the icon is opened, Visual Studio sees the 32-bit icon with an 8-bit mask, thinks that it’s “wrong”, “fixes” the 8-bit mask, and then marks it as a modified file. The next time you do a build, the modified file is copied into the build and you’ve got a bad icon in your compiled application.
  • Use 8-bit transparency on the 32-bit icons. If you try to use 1-bit transparency in the mask (with 24-bit data) will not display correctly on Win NT. Again, Visual Studio will try to outsmart you on this one.

You can also use our ICONTEST utility. We wrote this application to quickly check the icons (without a development environment getting in the way.) You can download it here.

There is some documentation included in the download which was originally oriented at Mac designers who were new to developing for Windows. The documentation is a little bit out of date: the comments about not including a 16-color 48×48 icon doesn’t apply anymore (see the point above about getting the icon resources in the right order!)

Search for similar items

Can't Find It?

We've tried to anticipate most questions you might have. However, if you can't find the answer you're looking for here, send us your query and we'll answer it personally.

Send to: