none
CComboBoxEx,每次使用insertItem均返回0值 RRS feed

  • 问题

  • 主要代码大概是下面这个样子,最后一行是我加的,代码在一段for循环里,问题是每次执行insertitem(倒数第二行)时均返回0, 然后  GetCount结果为0, combobox一直是空的,为什么啊?请高人指点一下问题出在哪?

                 COMBOBOXEXITEM cbei;
                    cbei.mask = CBEIF_TEXT | CBEIF_IMAGE | CBEIF_SELECTEDIMAGE;
                    cbei.iItem = nCount++;
                    cbei.pszText = (LPTSTR) (LPCTSTR) strDrive;
                    cbei.iImage = nImage;
                    cbei.iSelectedImage = nImage;
                     int i = InsertItem (&cbei); //always return 0
                    int j = GetCount(); //always return 0
     

    2010年7月1日 7:57

答案

  • /*m_cbeWnd 为已经创建的CComboBox对象 m_list 为CImageList对象IDB_IMG 为16*(16*4)的位图,每个图片为16*16共4个图标*/
    
    m_list.Create(IDB_IMG,16,4,RGB(0,0,0));
    
    m_cbeWnd.SetImageList(&m_list);
    
    COMBOBOXEXITEM insItem;
    
    insItem.mask=CBEIF_IMAGE|CBEIF_TEXT;
    
    insItem.iItem=0;
    
    insItem.iImage=0;
    
    insItem.pszText="Line 1";
    
    m_cbeWnd.InsertItem(&insItem);
    
    insItem.iItem=1;
    
    insItem.iImage=1;
    
    insItem.pszText="Line 2";
    
    m_cbeWnd.InsertItem(&insItem);

    2010年7月3日 13:23