MFCアプリケーションを開発しています。VisualStudioで自分の.bmpイメージを使用しています。[リソースの追加]ダイアログからbmpをインポートし、一意の名前を付けてCImageListを作成します。次に、リストコントロールで画像リストを設定します。
CListCtrl m_CIDList;
CImageList m_ImgList;
//.........
m_ImgList.Create(IDB_MYBITMAP, 15, 0, RGB(255, 255, 255));
m_CIDList.SetImageList(&m_ImgList, LVSIL_STATE);
私が抱えている問題は奇妙です。特定の色のみが表示されます。通常は赤と灰色のみです。さまざまなビット深度を使用してみましたが、何も変わりません。VSの画像エディタでbmpがどのように表示されるかを次に示します。
アイコンがリストコントロールに表示されている場合、赤の一部のみが表示され、すべての緑が灰色で表示されます。
何が起こっているのかよくわかりませんが、何が起こっているのか誰かが知っていますか?
ソリューションの更新
m_ImgList.Create(15, 15, ILC_MASK | ILC_COLOR24, 0, 0);
CBitmap bmp;
bmp.LoadBitmap(IDB_MYBITMAP);
m_ImgList.Add(&bmp, RGB(255, 255, 255));
m_CIDList.SetImageList(&m_ImgList, LVSIL_STATE);