<1>CComboBoxEx添加图像CImageList无法正常显示

<1>给控件 CComboBox绑定变量 .cpp中

DDX_Control(pDX, IDC_COMBO_PHOTO_IMG, m_ComboBoxPhotoImg);

 CComboBoxEx m_ComboBoxPhotoImg;	//用户图像

<2>
.cpp中

//创建图像列表
	m_imageList.Create(32, 32, ILC_COLOR16, 4, 4);
	for(int i = 0; i < 10; i++)
	{
		m_imageList.Add(::LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1+i)));//向图像列表添加图标ico
	}
	
	m_ComboBoxPhotoImg.SetImageList(&m_imageList); //为列表框设置图像列表
	int numImgInList = m_imageList.GetImageCount();
	for(int i=0; i<numImgInList; i++)
	{
		COMBOBOXEXITEM cbi ={0};
		cbi.mask = CBEIF_IMAGE | CBEIF_INDENT | CBEIF_OVERLAY |
			CBEIF_SELECTEDIMAGE | CBEIF_TEXT;

		cbi.iItem = i;
		CString str;
		str.Format(_T("Numb %2d"), i+1);
		cbi.pszText = /*(LPTSTR)(LPCTSTR)*/str.GetBuffer();
		cbi.cchTextMax = str.GetLength();
		cbi.iImage = i;
		cbi.iSelectedImage = i;
		cbi.iOverlay = 2;
		cbi.iIndent = 0;
		int nItem = m_ComboBoxPhotoImg.InsertItem(&cbi);		//为组合框添加新项目
		ASSERT(nItem == i);
	}

	
	m_ComboBoxPhotoImg.SetCurSel(0);

 上述代码中ASSERT断言总出错,并且nItem总返回为0


       检查结果:由于<1>项绑定的控件为CComboBox控件,即资源对话框上拖放的控件是CComboBox控件,所以断言总出错。

       改正方法:把CComboBox控件改为Extended ComboBox控件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值