在属性页上 显示图片,我是这样实现的,但是256色的就变成16色的,如何能显示256色的图片.  CPropertySheet* Psheet=(CPropertySheet*)GetParent();
CTabCtrl * tc=Psheet->GetTabControl();


m_imag.Create(IDB_TABFRIEND,11,0,RGB(221,231,248));
tc->SetImageList(&m_imag);
TC_ITEM  tcitem;
tcitem.mask=TCIF_IMAGE;
int i=0;
//  for ( i=0;i<4;i++)
{
tcitem.iImage=0;
tc->SetItem(0,&tcitem);

tcitem.iImage=1;
tc->SetItem(1,&tcitem);


tcitem.iImage=2;
tc->SetItem(2,&tcitem);


tcitem.iImage=3;
tc->SetItem(3,&tcitem);
}

解决方案 »

  1.   

    m_imag是CImageList对象吧在Create方法中,有个nFlags字段,将它设为ILC_COLOR8就可以了
      

  2.   

    m_imag.Create(IDB_TABFRIEND,11,0,RGB(255,255,255));
      

  3.   

    //用LoadImage从资源加载位图
    HBITMAP h = (HBITMAP)::LoadImage(AfxGetResourceHandle(), MAKEINTRESOURCE(IDB_TABFRIEND),   IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADMAP3DCOLORS);
    ASSERT(h != NULL);
    CBitmap bitmap;
    bitmap.Attach(h);
             m_pImageList->Add(&bitmap, colorTransparent);
    bitmap.Detach();
      

  4.   

    m_imag.Create(11,11,ILC_COLOR24|ILC_MASK,4,1);
    // load the image
    m_imag.Add(..);