1。如题2。我有7个bmp资源,有一个ListCtrl控件,系统通过CImageList把这7个BMP加进去。
请问如何实现。ListCtrl已经初始化了。
    LV_ITEM         lvitem;

m_ListDetail.SetExtendedStyle(m_ListDetail.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); gMutex_ListDetail.Lock();
m_ListDetail.InsertColumn(0, "序号", LVCFMT_CENTER, 40, -1);
m_ListDetail.InsertColumn(1, "用户号码", LVCFMT_CENTER, 80, -1);
m_ListDetail.InsertColumn(2, "用户", LVCFMT_CENTER, 40, -1);
m_ListDetail.InsertColumn(3, "状态", LVCFMT_CENTER, 70, -1);
m_ListDetail.InsertColumn(4, "卡号", LVCFMT_CENTER, 40, -1);
m_ListDetail.InsertColumn(5, "卡类型", LVCFMT_CENTER, 110, -1);
m_ListDetail.InsertColumn(6, "通道号", LVCFMT_CENTER, 60, -1);

解决方案 »

  1.   

    1. IsWindowVisible
    2. CBitmap.LoadBitmap之后调用CImageList.Add
      

  2.   

    就是要在listctrl里面显示BMP图片啊。有7种图片可选。
      

  3.   

    1.IsWindowVisble,2.CImageList::Add即可,但得注意其大小。
      

  4.   

    1. IsWindowVisible
    2.http://www.vccode.com/file_show.php?id=464
      

  5.   

    m_imagelist在头文件里面定义。
    void CAutoView::InitLISTDetail(tSystemChannels *pstr_SystemChannels)
    { CBitmap bm;
    int li_loop;
    LV_ITEM         lvitem;
    char ls_Buffer[128];

    m_ListDetail.SetExtendedStyle(m_ListDetail.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); gMutex_ListDetail.Lock();
    m_ListDetail.InsertColumn(0, "序号", LVCFMT_CENTER, 40, -1);
    m_ListDetail.InsertColumn(1, "用户号码", LVCFMT_CENTER, 80, -1);
    m_ListDetail.InsertColumn(2, "用户", LVCFMT_CENTER, 40, -1);
    m_ListDetail.InsertColumn(3, "状态", LVCFMT_CENTER, 70, -1);
    m_ListDetail.InsertColumn(4, "卡号", LVCFMT_CENTER, 40, -1);
    m_ListDetail.InsertColumn(5, "卡类型", LVCFMT_CENTER, 110, -1);
    m_ListDetail.InsertColumn(6, "通道号", LVCFMT_CENTER, 60, -1);
    m_ListDetail.InsertColumn(7, "通道类型", LVCFMT_LEFT, 70, -1);
    m_ListDetail.InsertColumn(8, "录音检测类型", LVCFMT_LEFT, 90, -1);
    m_ListDetail.InsertColumn(9, "录音时长(秒)", LVCFMT_LEFT, 90, -1);
    m_ListDetail.InsertColumn(10, "按键...", LVCFMT_LEFT, 80, -1); m_imagelist.Create(16,16,ILC_COLOR8,0,4);
    bm.LoadBitmap(IDB_BITMAP_Error);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_NotUse);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_Idle);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_Recording);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_Playing);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_Listening);   
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_Ringing);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_OffHook);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_OnHook);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_Dialing); m_ListDetail.SetImageList(&m_imagelist, LVSIL_STATE);这样写对吗?请问
      

  6.   

    请问如何把这几个BMP加到listctrl的第一列里面去,显示出来呢?。。
    谢谢了。。~
      

  7.   

    1.IsWindowVisible();2.在加入一行记录时,把image赋值为你的图象序列号
    lvitem.mask = LVIF_TEXT | LVIF_IMAGE;
    lvitem.iItem = 0;

    lvitem.iSubItem = 0;
    lvitem.pszText = "Test";
    lvitem.iImage = 图片序列号;
    m_ListDetail.InsertItem(&lvitem);