求助列表控件的AddItem的问题

yuanshengkj2008 2009-07-14 02:16:33
在dlgBar对话框中放入列表控件m_olist。并在CMainFrame中调用m_olist显示用户名代码如下:
void CMainFrame::OnAddMember(WPARAM wParam, LPARAM lParam)
{
CString* pStr = (CString*)wParam;
this->dlgBar.m_olist.AddItem((short)lParam, pStr->GetBuffer(0), NULL);
pStr->ReleaseBuffer();

}
现在我想在用户名前面再增加一栏,来显示用户名图标,上面代码应该怎么修改?谢谢!!
...全文
87 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanshengkj2008 2009-07-14
  • 打赏
  • 举报
回复
谢谢,搞定了!!!
快乐鹦鹉 2009-07-14
  • 打赏
  • 举报
回复
void CListCtrlEx::AddItem(short i, char* logo, char* name, char* text) 
{
LVITEM lvi;

lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
lvi.iItem = GetItemCount();
lvi.iImage = i;
lvi.iSubItem = 0;
lvi.pszText = logo;
lvi.cchTextMax = 64;
lvi.lParam = 0;
InsertItem(&lvi);

lvi.mask = LVIF_TEXT;
lvi.pszText = name;
lvi.cchTextMax = 64;
lvi.iSubItem = 1;
SetItem(&lvi);

lvi.mask = LVIF_TEXT;
lvi.pszText = text;
lvi.cchTextMax = 32;
lvi.iSubItem = 2;
SetItem(&lvi);
}
yuanshengkj2008 2009-07-14
  • 打赏
  • 举报
回复
本人水平有限,不知怎么修改这个函数?
快乐鹦鹉 2009-07-14
  • 打赏
  • 举报
回复
那你得重新改写这个函数了。增加一个参数,然后函数内部增加一个列。
yuanshengkj2008 2009-07-14
  • 打赏
  • 举报
回复
void CListCtrlEx::AddItem(short i, char* name, char* text)
{
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_TEXT;
lvi.pszText = text;
lvi.cchTextMax = 32;
lvi.iSubItem = 1;
SetItem(&lvi);
}
快乐鹦鹉 2009-07-14
  • 打赏
  • 举报
回复
首先你肯定要用m_oList对象的修改栏数量和标题的函数修改栏。
然后你贴出AddItem函数的定义,看一下它的参数是否是变长的。
yuanshengkj2008 2009-07-14
  • 打赏
  • 举报
回复
也就是说要让m_oList显示两个栏,AddItem方法要怎么改变呢?
yuanshengkj2008 2009-07-14
  • 打赏
  • 举报
回复
happyparrot,首先谢谢您的热情。是派生的CListCtrl的,多发一个消息后AddItem方法要怎么改变呢?
快乐鹦鹉 2009-07-14
  • 打赏
  • 举报
回复
m_oList是什么类型???派生的CListCtrl?
既然插入的行号都不是由CMainFrame中控制的,你怎么知道这里它是增加用户名呢?lParam是外来的啊。一个办法就是在发送这个消息的地方再多发一个消息。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧