共用方式為


Which icon sizes should I use in my application?

We've covered icons in the past, but I thought it was a good idea to review this information because I often see applications that use incorrect icon sizes. At a high level, here are the icon sizes Windows Mobile developers need to be aware of:

Windows Mobile Professional and Classic devices (formerly known as "Pocket PC"):

  • Normal DPI: 16x16 (small) and 32x32 (large)
  • High DPI: 32x32 (small) and 64x64 (large)

Windows Mobile Standard devices (formerly known as "Smartphone"):

  • Normal DPI: 16x16 (small) and 32x32 (large)
  • High DPI: 22x22 (small) and 44x44 (large)

So which of these icons should you use and where?

Application icons:

Your application's main icon (the first one embedded inside your .exe) is used in various places such as File Explorer, Task Manager, Start menu shortcuts, 3rd party memory management utilities etc. Since you cannot predict or control whether the user will see this as a large or small icon, you should support the maximum number of sizes for this icon (i.e. both small and large formats).

If you are creating a single .exe that is designed to run on all Windows Mobile devices, use an application icon with these sizes:

  • 16x16
  • 22x22
  • 32x32
  • 44x44
  • 64x64

If your .exe is only designed for "Pocket PC" devices, use an application icon with these sizes:

  • 16x16
  • 32x32
  • 64x64

If your .exe is only designed for "Smartphone" devices, use an application icon with these sizes:

  • 16x16
  • 22x22
  • 32x32
  • 44x44

"Feature" icons:

These are icons used within your own application. As a developer you can control the appearance of common controls such as ListViews and TreeViews used within your application, and hence you can decide which icon formats are most appropriate. For example, if you use a ListView control with the LVS_ICON style, you will need a "large" icon. If you use the LVS_REPORT style instead, you will need a "small" icon. To create applications that look great across all Windows Mobile devices (regardless of "Pocket PC" or "Smartphone"), support all the necessary icon formats - but no more than you really need. For example, if I know that my ListView will only use the LVS_REPORT style, my icon only needs to support the "small" sizes (16x16, 22x22 and 32x32). Similarly if my ListView only uses the LVS_ICON style, I only need the "large" sizes (32x32, 44x44 and 64x64).

Bottomline, treat your application icon and feature icons differently. And strive to support all the icon sizes that are necessary across different types of Windows Mobile devices. I hope this post helps you improve the look and feel of your applications. Please post comments if you need more clarification around icon size issues.

-Mel Sampat (PM, Windows Mobile shell team)

Comments

  • Anonymous
    August 14, 2008
    What about 320x320 devices with 43x43 and 21x21 icons sizes. If we don't include such sizes in icon file, wouldn't be icons stretched ? I recommend this link: http://blogs.msdn.com/windowsmobile/archive/2007/03/02/320x320-revisited.aspx thks

  • Anonymous
    August 15, 2008
    As a long time Windows (and now WinMo) dev, all this icon craziness has me in disbelief. The last app I wrote, I had to spend 2 days with Visual Studio's horrible icon editor to make my app's icon look right in all the different resolutions.

  • Anonymous
    August 19, 2008
    Hi! Sorry for offtopic. Is MUI-mechanism supported on WM 2003 (4.20)? It works fine on WM 2003 SE (4.21), but we cannot get it work on WM 2003. Thanks!

  • Anonymous
    August 21, 2008
    What color depths need to be included to support the widest range of devices? 4-bit, 8, 24, 32? Just 24?

  • Anonymous
    August 21, 2008
    can you tell me where can I get Device Command Shell tool? I really need this tool.. thanks a lot..

  • Anonymous
    August 28, 2008
    How do i add an icon to a application? Like win32 there's no icon propertyy on the Main form.

  • Anonymous
    September 01, 2008
    I've got a working DirectX, windows mobile 6 professional application on an at&t tilt - and i'm finally to the point of packaging it up into a cab file...  and for the life of me, i can't get my icons to appear after installation on the "Programs" list (and yes, I've created icons in all the recommended sizes). help - anyone?

  • Anonymous
    September 05, 2008
    The comment has been removed

  • Anonymous
    September 05, 2008
    Is there an answer to the color depth question?

  • Anonymous
    September 08, 2008
    Please check if you have mentioned correct registry entries for your app along with correct resource id of application icon. Regards Keshav

  • Anonymous
    September 10, 2008
    hi! as a designer, which file-format should i prepare for the coders? .png in the various sizes, .ico including the various sizes? pls. enlighten me. thanks & regards Daniel

  • Anonymous
    September 11, 2008
    I too would like to know an answer to the color depth question. If we put icons with 32-bit color depth, are they automatically adjusted to the lower depths?

  • Anonymous
    December 05, 2008
    I am adding an Notification icon on Smartphone 6.1 on Titlebar . I added successfully using the CLSID_SHNAPI_OemNotif1 .However on non home screen icon can be displayed properly but when swichted to home screen the icon is displayed half cut . Could any one let us know why this happens and how to reslove. In fact i am using the 320 *320 screen.

  • Anonymous
    June 29, 2009
    The comment has been removed