Delphiの過去のプロジェクトをXE2などに移植した場合、32bitの半透明アイコンの背景が黒くなってしまう場合があります。
TImageListでcd32Bitを使っているアイコンが、背景が透けずに黒い四角で描画されます。
この症状の解決方法です。
珍しい症状?
意外に珍しい症状のようでインターネットに手がかりがありませんでした。私は2~3回起こったことがあるのですが・・・
プロジェクトを作りなおせば治りますが、非常に大変です。
TImageListを作りなおしたり、メニューを作りなおしたりしても変わりません。
実は・・・
原因はランタイムテーマ
原因はプロジェクトを変換した際にランタイムテーマが未指定になるのが原因です。
マニフェストがおかしくなっているのでしょうね。
プロジェクト > オプション を開きます。
左のツリーから「アプリケーション」を選択。
すると「ランタイムテーマ」の部分が「未使用」になっています。
これが原因です。
ドロップダウンリストを「ランタイムテーマを有効にする」に変えてOKで閉じます。
そしてリコンパイルすれば・・・
見事、元に戻りました。