Возникла проблема с использорванием 32-битной иконки c альфа-каналом.
Если загружаеть ее с диска через LoadImage(), добавлять в ImageList,
и затем отображать через ImageList_Draw(..., ILD_TRANSPARENT) — все ок.
Проблемы начинаются когда я добавляю иконку в ресурсы программы, и
пытаюсь проделывать все то же самое, но только гружу ее теперь не с диска,
а из ресурсов — прозрачность по краям иконки пропадает напрочь, т.е.
становятся четко видны зазубрины. Я заметил, что после того, как я добавляю иконку как ресурс, вижуал ее модифицирует. Если у исходной иконки был
размер 4.18 KB, то после добавления ее в ресурсы и затем сохранения
проекта, ее размер уменьшается до 3.18 KB. Складывается такое ощущение, что вижуал просто выкидывает альфа-канал из иконки, и заменяет его на 1-битную
AND-маску. Отсюда зазубрины и уменьшение размера иконки.
Подскажите, пожалуйста, как с этим бороться.
На крайний случай прийдется конвертить иконку в 32-бит битмап с
альфа-каналом. Но все-таки интересно, как это побороть.