ImageListで半透明アイコンを使うには(Winプログラミング)

WindowsXPでは,半透明アイコンがたくさん使われていて,
これを自分のプログラムで利用して表示しようとすると,
半透明の部分(たとえば影)が黒色になってしまい,汚くなる(涙

アイコンなどは,Windowsでは,ImageListを使って管理する。
このImageListは何も考えずに使うと
ImageList_Create() オプション: ILC_COLOR | ILC_MASK
で作成し,LoadImage でアイコンをロードして ImageListに追加する。

半透明を使わないアイコンはこれでよかった。

WinXPでは,標準のアイコンが半透明を使うので,それを利用する場合は,
ImageList_Create() オプション: ILC_COLOR32 | ILC_MASK
を使わないといけない。



参考文献:
秀丸メール・要望関係/問い合わせ窓口 - スレッド08782, 04-12-18
http://maruo.dyndns.org:81/turukame/turukame_2/x08782.html

この記事へのコメント

この記事へのトラックバック