CCombox 如何添加图象?图象+文字 CCombox 如何添加图象?图象+文字 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关注~~~~~我也和你做一样的题目?查了好多资料,用ComboBoxEx这个控件可以加载图片。 使用ComBoBoxExItem来设置,那个结构里就有Image 我弄出来了:把我的给你参考参考1.在对话框上加入ComboBoxEx控件,并用类向导设置其Ctronl类型变量m_ComboBoxEx;2.在.h文件中加入CImageList *m_pImageList; //Image列3.在.cpp文件中加入以下代码:(其中你还要导入四个图标)m_pImageList = new CImageList();m_pImageList->Create(16, 16, ILC_COLOR, 2, 2);m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1)));//m_hICON[0]);m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON2)));//m_hICON[1]);m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON3)));//m_hICON[2]);m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON4)));//m_hICON[3]); m_ComboxEX.SetImageList(m_pImageList);for(int i=0; i<m_pImageList->GetImageCount(); i++){ COMBOBOXEXITEM cbi ={0}; CString str; int nItem; cbi.mask = CBEIF_IMAGE | CBEIF_INDENT | CBEIF_OVERLAY | CBEIF_SELECTEDIMAGE | CBEIF_TEXT; cbi.iItem = i; str.Format(_T("Item %02d"), i); cbi.pszText = (LPTSTR)(LPCTSTR)str; cbi.cchTextMax = str.GetLength(); cbi.iImage = i; cbi.iSelectedImage = 1; cbi.iOverlay = 2; cbi.iIndent = 0;//(i & 0x03); //Set indentation according //to item position nItem = m_ComboxEX.InsertItem(&cbi); ASSERT(nItem == i);}这样就ok啦 把1.在对话框上加入ComboBoxEx控件,并用类向导设置其Ctronl类型变量m_ComboBoxEx; 改为1.在对话框上加入ComboBoxEx控件,并用类向导设置其Ctronl类型变量m_ComboxEx; 设置成自绘样式;重载:virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct); 求助:SQL操作orcal数据库 根据date时间查询数据 opengl csg 高手来帮助一下,诚心求教,在线苦等 SetWindowPos VS2005有没有快捷键跳转到函数窗口? 求救:如何去掉动态创建ctreectrl的滚动条? 请问哪有win2000pro下载? WIN2000下的服务程序一问,在线等待。解决==结贴 找vc工作 高分求救,有谁知道NetworkICE BlackICE Defender Workstation 2.9的注册码? 如何变灰(disable)按钮? svchost相关 关于map修改其值的问题
1.在对话框上加入ComboBoxEx控件,并用类向导设置其Ctronl类型变量m_ComboBoxEx;
2.在.h文件中加入CImageList *m_pImageList; //Image列
3.在.cpp文件中加入以下代码:(其中你还要导入四个图标)
m_pImageList = new CImageList();
m_pImageList->Create(16, 16, ILC_COLOR, 2, 2);
m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1)));//m_hICON[0]);
m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON2)));//m_hICON[1]);
m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON3)));//m_hICON[2]);
m_pImageList->Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON4)));//m_hICON[3]);
m_ComboxEX.SetImageList(m_pImageList);for(int i=0; i<m_pImageList->GetImageCount(); i++)
{
COMBOBOXEXITEM cbi ={0};
CString str;
int nItem; cbi.mask = CBEIF_IMAGE | CBEIF_INDENT | CBEIF_OVERLAY |
CBEIF_SELECTEDIMAGE | CBEIF_TEXT; cbi.iItem = i;
str.Format(_T("Item %02d"), i);
cbi.pszText = (LPTSTR)(LPCTSTR)str;
cbi.cchTextMax = str.GetLength();
cbi.iImage = i;
cbi.iSelectedImage = 1;
cbi.iOverlay = 2;
cbi.iIndent = 0;//(i & 0x03); //Set indentation according
//to item position
nItem = m_ComboxEX.InsertItem(&cbi);
ASSERT(nItem == i);
}
这样就ok啦
1.在对话框上加入ComboBoxEx控件,并用类向导设置其Ctronl类型变量m_ComboBoxEx;
改为
1.在对话框上加入ComboBoxEx控件,并用类向导设置其Ctronl类型变量m_ComboxEx;
重载:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);