您的位置:首页 > 其它

MFC类的范例:CComboBoxEx

2015-07-03 08:41 288 查看
范例1: 带图标的组合框

(1)新建一个基于对话框的应用程序

(2)在对话框上添加添加一个扩展组合框控件,添加CComboBoxEx类成员变量m_Combo

(3)在头文件中声明一个图像列表对象CImageList  m_ImageList;

(4)在资源视图中导入7个icon类型的图

(5)主程序代码如下:

BOOL CMy2_073Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

……

CString str[] = {"钱夫人","小丹尼","卡卡罗特","琪琪","特兰克斯","贝吉塔","天津饭"};

m_ImageList.Create(16,16,ILC_COLOR24|ILC_MASK,1,0);  //创建列表视图窗口
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));  //向图像列表中添加图
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));   //向图像列表中添加图标
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON3));   //向图像列表中添加图标
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON4));   //向图像列表中添加图标
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON5));   //向图像列表中添加图标
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON6));   //向图像列表中添加图标
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON7));   //向图像列表中添加图标
m_Combo.SetImageList(&m_ImageList);

for(int i=0;i<7;i++)
{

COMBOBOXEXITEM cbi;

cbi.mask = CBEIF_IMAGE|CBEIF_INDENT|CBEIF_OVERLAY|

CBEIF_SELECTEDIMAGE|CBEIF_TEXT;

cbi.iItem    = i;
cbi.pszText   = str[i].GetBuffer(0); //设置列表项文本
cbi.cchTextMax  = str[i].GetLength(); //设置文本最大长度
cbi.iImage    = i;
cbi.iSelectedImage = i;
cbi.iOverlay   = 0;
cbi.iIndent   = (0 & 0x03);
m_Combo.InsertItem(&cbi);     //插入数据
}
return TRUE;  // return TRUE  unless you set the focus to a control
}


来源: <http://blog.csdn.net/dgglx/article/details/6508193>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: