1
我正在開發MFC應用程序。我正在使用Visual Studio自帶的.bmp圖像。我通過添加資源對話框導入bmp,給它一個唯一的名稱並創建一個CImageList。然後我設置列表控件中的圖像列表:使用MS Visual C++ 2008與MFC處理.bmp圖像時的顏色問題
CListCtrl m_CIDList;
CImageList m_ImgList;
//.........
m_ImgList.Create(IDB_MYBITMAP, 15, 0, RGB(255, 255, 255));
m_CIDList.SetImageList(&m_ImgList, LVSIL_STATE);
我遇到的問題很奇怪。只有某些顏色會出現,通常只有紅色和灰色。我嘗試過使用不同的位深度,但這並沒有改變。 這裏是BMP看起來像在VS圖像編輯器:
當圖標顯示在列表控件中,只有少數紅魔的都出現了,所有的綠色顯示出來灰色。
我不太清楚發生了什麼,有沒有人知道發生了什麼?
解更新
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);
不要在Visual Studio中打開/編輯超過16種顏色的位圖。這是「背後」的一種痛苦,也是我與VS一起工作的主要寵物之一。 – Max