listView的InsertItem问题
icon形式的listView
1.用m_List.InsertItem(i,strMsg,i);形式可以正常显示
用下面的语句却没什么都不显示,谁知道问什么?
LVITEM mItem;
mItem.mask = LVIF_TEXT | LVIF_IMAGE;
mItem.iItem = i;
mItem.pszText = strMsg.GetBuffer(0);
mItem.iImage = i;
m_List.InsertItem(&mItem);
2.用SendMessage()方式InsertItem该怎么写?(icon形式的listView)
问题点数:100、回复次数:5Top
1 楼wfqiu(阿____/\oo/\____F)回复于 2005-03-08 09:58:29 得分 40
请加入 mItem.iSubItem = 0;Top
2 楼guangsan(丑草)回复于 2005-03-08 10:18:38 得分 50
1、如果是想实现类似于acdsee一样的缩略图显示,可参考
http://www.codeproject.com/listctrl/thumbnail.asp
可实现任何格式的图片在listctrl中显示
2、关于消息,见我后面的帖子
Top
3 楼mousefj(冯杰)回复于 2005-03-08 10:18:57 得分 10
我的一段成功代码,提供参考
LVITEM m_lvitem; //元素结构
int m_itemCount; //已有元素个数
LPTSTR lptstr=new TCHAR[VarNameStr.GetLength()+1];//临时指针
m_itemCount=m_VarList.GetItemCount(); //获取已有元素个数
//设置元素的开始位置
m_lvitem.iItem=0; //
m_lvitem.mask=LVIF_TEXT;
if(m_itemCount>0)
m_lvitem.iItem=m_itemCount;
//为结构赋值(变量名)
m_lvitem.iSubItem=0;
_tcscpy(lptstr, VarNameStr);
m_lvitem.pszText=lptstr;
//插入表中
m_VarList.InsertItem(&m_lvitem);
m_lvitem.iSubItem=1;
_tcscpy(m_lvitem.pszText,VarAddressStr);
m_VarList.SetItem(&m_lvitem);
m_lvitem.iSubItem=2;
_tcscpy(m_lvitem.pszText,VarIDStr);
m_VarList.SetItem(&m_lvitem);
m_lvitem.iSubItem=3;
_tcscpy(m_lvitem.pszText,VarType);
m_VarList.SetItem(&m_lvitem);
m_lvitem.iSubItem=4;
_tcscpy(m_lvitem.pszText,VarNameStr);
m_VarList.SetItem(&m_lvitem);Top
4 楼guangsan(丑草)回复于 2005-03-08 10:21:16 得分 0
在VC++中想加入自定义消息,以下方法可供参考 ……
1 首先定义消息:例如
define WM_MYMESSAGE (WM_USER+100)
2 在.H文件中,加入消息响应函数,如: LONG OnMyMessage(WPARAM w,LPARAM l);
该函数有规定的格式:LONG Function_Name(WPARAM w,LPARAM l);
3 加入消息响应宏
在响应该消息的类中,在消息响应块中, BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
加入以下语句:ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
成为如下样式:BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
4 在.CPP文件中,编辑消息响应函数,如下: LONG CMyClass::OnMyMessage(WPARAM w, LPARAM l)
{
//此处添加你想要的插入代码,也可能需要重绘你的listctrl
}
5 大功告成
以上文本摘自http://www.vckbase.com/document/viewdoc/?id=1336Top
5 楼hrblg313()回复于 2005-03-08 10:41:54 得分 0
万分感谢
问题1解决
加个
mItem.iSubItem = 0;
就可以了
问题2,我想知道用MFC原有的消息怎么写,自己定义消息似乎有点麻烦
Top




