由于实际需要,欲将画入内存的图在CListCtrl控件中显示出来,结果是图是在CListCtrl控件中显示了出来,却是黑颜色的一个方块,百思不等其解,无奈之下求助各位。具体代码如下://说明:在MyDlg.h中定义pulic: CImageList* pImageList; m_ListCtrl为CListCtrl控件的对象
//     在Ex1View.h中定义的CMyDlg对象: CMyDlg dlg;
//////////////MyDlg.cpp
CMyDlg::CMyDlg(CWnd* pParent):CDialog(CSymStyleDlg::IDD,pParent)
{   
    ///构建CImageList对象
    pImageList=new CImageList;      
    pImageList->Create(32,32,ILC_COLOR4,5,2);
}
BOOL CMyDlg::OnInitDialog() 
{   
    ///设置m_ListCtrl的图像列表
    m_ListCtrl.SetImageList(pImageList,LVSIL_NORMAL);  
    ///用pImageList中的第一个位图在CListCtrl控件的第一个位置显示
    m_ListCtrl.InsertItem(0,NULL,0);                   
}
///////////////Ex1View.cpp
void CEx1View::OnButton1() 
{   CClientDC dc(this);
    CDC memdc;
    CBitmap bit;
    ///创建内存和位图对象
    memdc.CreateCompatibleDC(&dc);
    bit.CreateCompatibleBitmap(&dc,500,500);
    memdc.SelectObject(&bit);
    ///在内存中画图
    memdc.FillSolidRect(0,0,500,500,RGB(255,0,0));
    memdc.MoveTo(0,0);
    memdc.LineTo(500,500);    
    ///得到内存中的位图对象指针,将其添加到CMyDlg对象dlg公共变量pImageList中;
    CBitmap* pMemBit=memdc.GetCurrentBitmap();
    dlg.pImageList->Add(pMemBit,RGB(0,0,0)); 
    dlg.DoModal();
    bit.DeleteObject();
    memdc.DeleteDC();
}