Вы можете извлечь изображение для значка при помощи использования функции GetIconInfo и можете нарисовать его при помощи использования функции DrawIconEx. Чтобы нарисовать изображение по умолчанию для значка, определите флажок DI_COMPAT при вызове в DrawIconEx. Если Вы не определяете флажок DI_COMPAT, функция DrawIconEx рисует значок, используя изображение, которое определил пользователь.
Когда система показывает на экране значок, она должна извлечь соответствующее изображение значка из .exe или .dll файла. Система использует нижеследующие шаги, чтобы выбрать изображение значка:
Обратите внимание! на то, что система обрабатывает все насыщенности цвета 8 bpp или больше как равные. Поэтому, нет никакого преимущества включения изображения 16x16 с 256 цветами и изображения 16x16 с 16 цветами в том же самом ресурсе — система просто выберет первый, с которым она встретится. Когда дисплей находится в режиме 8-bpp, система предпочтет значок с 16 цветами значку с 256 цветами и покажет на экране все значки, используя системную палитру по умолчанию. |
Чтобы показать на экране анимированный значок, используйте статический орган управления как показано в нижеследующем фрагменте кода.
hIcon = LoadImage(NULL, "ico.ani", IMAGE_ICON, 0, 0, LR_LOADFROMFILE); SendMessage( hStatic, STM_SETIMAGE, IMAGE_ICON, (LPARAM)(UINT)hIcon); |