CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

CComboBoxEx如何使用?

楼主luokun(信誉分只跌不涨)2004-09-01 16:54:09 在 VC/MFC / 界面 提问

我想在CComboBoxEx里插入左边是图像,右边是文字的Item。  
  这个类似乎很少人用,相关资料很少,CodeGuru干脆没有。  
  试了一下,有几个问题:  
  1.只有文字,没有图像  
  2.插入了两条,但拉下来后面还多出一点空白。  
  3.Item变得很高,不知道在哪里改。  
   
  最好有个完整的应用例子给我借鉴一下。  
  又或者CComboBoxEx不能满足我的要求,也请说明。 问题点数:50、回复次数:9Top

1 楼lixiaosan(小三)回复于 2004-09-01 17:07:05 得分 0

http://www.codeproject.com/combobox/combobold.aspTop

2 楼athena521(小猪)回复于 2004-09-01 17:08:52 得分 0

http://www.vckbase.com/document/viewdoc/?id=534Top

3 楼luokun(信誉分只跌不涨)回复于 2004-09-01 17:17:41 得分 0

楼上两位都是用CComboBox派生,我也知道从CComboBox派生可以实现,但是我现在还没有下决心要自己来做这个类。  
  如果CComboBoxEx能够实现,我就用CComboBoxEx。除非CComboBoxEx真的不能实现,我才会考虑自己来从CComboBox派生。Top

4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-09-04 16:24:55 得分 25

有一个新的类CComboBoxEx(由CComboBox派生)来实现这一功能。在CComboBoxEx类中添加了一些新的成员函数来实现新的功能:首先你需要调用CImageList*   SetImageList(   CImageList*   pImageList   );来设置ImageList,然后调用    
  int   InsertItem(   const   COMBOBOXEXITEM*   pCBItem   );来添加行,其中COMBOBOXEXITEM定义如下:    
  typedef   struct   {                 UINT         mask;                 int           iItem;                 LPTSTR     pszText;        int           cchTextMax;                 int           iImage;                 int           iSelectedImage;        int           iOverlay;                 int           iIndent;                 LPARAM     lParam;}   COMBOBOXEXITEM,   *PCOMBOBOXEXITEM;  
  你需要设置mask=CBEIF_IMAGE|CBEIF_TEXT,并设置iItem为插入位置,设置pszText为显示字符串,设置iImage为显示的图标索引。下面的代码演示了如何进行插入:  
   
  /*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);  
  通过调用int   DeleteItem(   int   iIndex   );来删除行,并指明行的位置。    
  通过调用BOOL   GetItem(   COMBOBOXEXITEM*   pCBItem   )/BOOL   SetItem(   const   COMBOBOXEXITEM*   pCBItem   );来得到/设置行数据。Top

5 楼luokun(信誉分只跌不涨)回复于 2004-09-06 19:50:56 得分 0

好奇怪啊,ImageList也创建成功了,也设置了,但是还是没有内容。InsertItem总是返回0,不管添加几项。Top

6 楼BOYGUARD110(BOYGUARD110)回复于 2004-09-13 17:28:06 得分 0

 
  http://mon.512j.com/vasualc/comboboxex.htmTop

7 楼luokun(信誉分只跌不涨)回复于 2004-09-13 18:14:05 得分 0

还是没有东西,还是总是返回0,疯了……Top

8 楼skychild(大鸟)回复于 2004-09-23 21:24:47 得分 25

m_ctrlCXSymbol为CComboBoxEx对象,在显示图片前应先设置insItem的mask属性.  
  m_imglst为CImageList对象,可以装载位图.(  
                                                                                  CBitmap   bt;  
                                                                                  bt.LoadBitmap(你的位图ID);  
                                                                                  CImageList   m_imglst;  
                                                                                  m_imglst.Create(40,16,ILC_COLOR16,0,7);  
  //我的是7个40*16位图,  
                                                                                  m_imglst.Add(&bt,RGB(0,0,0));  
                                                                                )  
   
   
  m_ctrlCXSymbol.SetImageList(&m_imglst);  
  COMBOBOXEXITEM   insItem;  
  insItem.mask=CBEIF_IMAGE|CBEIF_TEXT;  
                    insItem.iItem=0;  
  insItem.iImage=0;  
  insItem.pszText="轿车";  
  m_ctrlCXSymbol.InsertItem(&insItem);  
  insItem.iItem=1;  
  insItem.iImage=1;  
  insItem.pszText="消防车";  
  m_ctrlCXSymbol.InsertItem(&insItem);  
  再试试看!Top

9 楼tianhua(网络过客)回复于 2004-09-23 21:34:09 得分 0

msdnTop

相关问题

  • 如何使用JDK1.2.1?
  • 如何使用"和'
  • DlgDirList如何使用。
  • GetModuleHandle如何使用?
  • 如何使用phpMyAdmin?
  • registerserviceprocess如何使用?
  • 如何使用response.redirect
  • 如何使用LockWorkstation()??
  • 如何使用GetModuleHandle(...)
  • 如何使用ULTRAEDIT

关键词

  • bt
  • insitem
  • ccomboboxex
  • cbeif
  • comboboxexitem
  • imglst
  • cbewnd
  • ctrlcxsymbol
  • iimage
  • iitem

得分解答快速导航

  • 帖主:luokun
  • oyljerry
  • skychild

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo