72上位机VC MFC组合框添加图标实现图文效果
72上位机VC MFC组合框添加图标实现图文效果
功能展示
我们在设计 上位的登录操作时,得设计几个操作软件的权限,比如说操作员仅有简单操作软件的权限,生产主管可以修改程序生产工艺的权限,我们如果给组合框添加图标供用户选择权限,将会方便用户和使用,当前例程实现向组合框添加图标,效果如图
要点提示 组合框内添加图标主要是通过CComboxEx的 InsertItem()方法来实现,此方法用于向扩展组合框中插入数据,语法int InsertItem(const COMBOBOXEXITEM* pCBItem ); pCBItem 为[url=]COMBOBOXEXITEM[/url] 结构体指针。如我们当前例程形式初始化后COMBOBOXEXITEM cbi; cbi.mask =CBEIF_IMAGE|CBEIF_INDENT|CBEIF_OVERLAY| CBEIF_SELECTEDIMAGE|CBEIF_TEXT; cbi.iItem = i; cbi.pszText = str.GetBuffer(0); //设置列表项文本 cbi.cchTextMax = str.GetLength(); //设置文本最大长度 cbi.iImage = i;cbi.iSelectedImage = i; cbi.iOverlay = 0; cbi.iIndent = (0 & 0x03); 便可以快速使用组合框函数nsertItem(&cbi);播放数据;
实现功能 1.新建基于对话框的应用程序 2.拖拽一个CComboboxEx控件,和按钮控件,给组合框控件关联变量CComboBoxEx m_Combo; 给按钮添加响应函数 - void CGkbc8Dlg::OnAdd()
- {if(m_ImageList.m_hImageList) return;//已创建过,就不再执行以下操作
- CString str[]={"设计工程师","设备调试员","生产主管","设备操作员1","设备操作员2","设备操作员3","设备操作员4"};
- 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); //插入数据}
- m_Combo.SetCurSel(0);
- }
- <div style="text-align: center;"><b style="line-height: 1.5;"><font size="4">我们来演示下实现过程</font></b></div>
复制代码
|