In einer CImageList Symbole mit mehr als 16 Farben darstellen?
-
Hi!
Ich möchte aus einer Toolbar eine CImageList erstellen und in einer Liste benutzen. Nur stehe ich immer vor dem Problem, das die Symbole nur 16 Farben haben, also Übergänge stark sichtbar sind. Aber im ResourenEditor sehe ich das Symbol in allen Farben, wie kann das sein?
c_imglist.Create(IDR_TOOLBAR_VEREIN,16,6,RGB(191,191,191)); m_vereinliste.SetImageList(&c_imglist,LVSIL_SMALL);
-
TreeImageList->Create(24,24,ILC_COLOR24 | ILC_MASK,0,1);So funktionierts jedenfalls bei mir, mit TrueColor.

-
Wo kann ich da meine ID aus der Resource angeben?
-
Weiß nicht, schau mal da: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cimagelist.3a3a.create.asp
Aber im Prinzip sollte doch nur das ILC_COLOR24 für die Farbtiefe relevant sein.
-
Ich habs jetzt so gelöst:
c_imglist.Create(16,15,ILC_COLOR24 | ILC_MASK,0,1); CBitmap bm; bm.LoadBitmap(IDB_BITMAP1); c_imglist.Add(&bm, RGB(191,191,191)); bm.DeleteObject(); m_vereinliste.SetImageList(&c_imglist,LVSIL_SMALL);
-
am besten sollte man den ILC_COLOR32 Flag nehmen, falls man unter Windows XP standard Icons verwenden möchte