这是一个显示在线用户程序,我的设计思路是:当用户登录后显示普通图标;当用麦时,切换显示话筒图标。
1、CListCtrlEx类代码:
void CListCtrlEx::AddItem(short i, char* name, short j)//short j显示话筒图标
{
LVITEM lvi; lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
lvi.iItem = GetItemCount();
lvi.iImage = i;
lvi.iSubItem = 0;
lvi.pszText = name;
lvi.cchTextMax = 64;
lvi.lParam = 0;
InsertItem(&lvi); lvi.mask = LVIF_IMAGE;
lvi.iImage = j;
lvi.iSubItem = 1;
SetItem(&lvi);
}
2、在CMainFrame::OnCreate中初始化m_imglist和关联m_userlist。然后调用数据显示用户:
void CMainFrame::OnAddMember(WPARAM wParam, LPARAM lParam)
{
CMsg* pStr = (CMsg*)wParam; this->dlgBar.m_userlist.AddItem(0,pStr->from.GetBuffer(0),0);
}3、当我获取某个发言用户名m_name之后,怎么判断跟m_userlist列表用户同名?然后怎么更新指定的获取发言权的用户图标?谢谢!!
1、CListCtrlEx类代码:
void CListCtrlEx::AddItem(short i, char* name, short j)//short j显示话筒图标
{
LVITEM lvi; lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
lvi.iItem = GetItemCount();
lvi.iImage = i;
lvi.iSubItem = 0;
lvi.pszText = name;
lvi.cchTextMax = 64;
lvi.lParam = 0;
InsertItem(&lvi); lvi.mask = LVIF_IMAGE;
lvi.iImage = j;
lvi.iSubItem = 1;
SetItem(&lvi);
}
2、在CMainFrame::OnCreate中初始化m_imglist和关联m_userlist。然后调用数据显示用户:
void CMainFrame::OnAddMember(WPARAM wParam, LPARAM lParam)
{
CMsg* pStr = (CMsg*)wParam; this->dlgBar.m_userlist.AddItem(0,pStr->from.GetBuffer(0),0);
}3、当我获取某个发言用户名m_name之后,怎么判断跟m_userlist列表用户同名?然后怎么更新指定的获取发言权的用户图标?谢谢!!
解决方案 »
- TBYTE这个数据类型可以得到汉字的机内码?
- 请问堆栈出错应如何解决
- vc中建的win32 console工程中,如何使用CString?
- 请教各位高手:怎样取附件。急用!100相送!
- 那位大虾能告诉我那里可以下载到<<Windows95 API开发人员指南>> 30分认购呀
- 在改变文档模板资源是遇到的问题。
- 请教在使用Kodak Image Edit Control中如何将图片缩小显示到一个矩形框中?急!
- 请教达人: WiFi 转 SCI 模块
- 谁能给我一个VC++下调用dll的hello world例子
- 我还有一个问题
- 第七课 静态文本框 图片控件单选按钮 复选框
- 串口运行在WINCE6.0
item.name == _T("XXX")
SetItemText[i, 更改项ID , text ..];改图标的话估计要删除了重新插入~~insertItem有默认图标ID,别的可能也有方法改吧
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_NO));普通图标m_list.SetImageList(&m_ImageList,LVSIL_SMALL);if(使用卖)
lvi.iImage = 0;
else
lvi.iImage = 1;
lvi.iImage = 0;
else
lvi.iImage = 1
这里啊。
你取得发言权之后,刷新下