• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

请问如何用SendDlgItemMessage向List control控件添加文字内容

hyacinth531 2008-04-03 12:48:06
各位好:
我希望用SendDlgItemMessage向list添加记录头内容和记录内容,请大家给点帮助,感谢!
...全文
193 点赞 收藏 19
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hyacinth531 2008-04-03
大家给点意见啊
回复
hyacinth531 2008-04-03
是这样的,我的工程并不是MFC的是windowns的因此只能用发送消息的方法了.
回复
shakaqrj 2008-04-03
直接用setitemtext不行么?
回复
shakaqrj 2008-04-03
LVIF_TEXT |brvbarLVIF_COLUMNS;
怎么插入列变成了LVM_INSERTITEM
回复
hyacinth531 2008-04-03
大家帮忙看看,我用如下代码插入行

//对list box进行初试化操作
LVITEM lvItem;
lvItem.mask = LVIF_TEXT|LVIF_COLUMNS;//|LVIF_COLFMT;
lvItem.iItem=0;
lvItem.pszText = _T("rrfdgfdgfdgfdgfdgfdgfd");
lResult= SendDlgItemMessage( hDlg,IDC_DB_PLACE_LIS,LVM_INSERTITEM,0,(WPARAM)&lvItem);
lResult的值为-1,证明插入不成功,这是为何?
回复
shakaqrj 2008-04-03
&换成|
回复
hyacinth531 2008-04-03
给点帮助啊
回复
hyacinth531 2008-04-03
我估计问题就出在插入行上,我用如下代码:
LVCOLUMN lvCol;
lvCol.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_ORDER;//分别使pszText,cx,iOrder生效
lvCol.fmt=LVCFMT_CENTER;//居中显示
lvCol.cx=80; //每一项所占的长度
lvCol.iOrder=0; //从左至右的顺序
lvCol.pszText=_T("门牌号"); //显示的内容
SendDlgItemMessage( hDlg,IDC_DB_PLACE_LIS,LVM_INSERTCOLUMN,0,(WPARAM)&lvCol);
lvCol.iOrder=1;
lvCol.pszText=_T("地点名");
SendDlgItemMessage( hDlg,IDC_DB_PLACE_LIS,LVM_INSERTCOLUMN,0,(WPARAM)&lvCol);
lvCol.iOrder=2;
lvCol.pszText=_T("楼层");
SendDlgItemMessage( hDlg,IDC_DB_PLACE_LIS,LVM_INSERTCOLUMN,0,(WPARAM)&lvCol);
lvCol.iOrder=3;
lvCol.pszText=_T("方向");
SendDlgItemMessage( hDlg,IDC_DB_PLACE_LIS,LVM_INSERTCOLUMN,0,(WPARAM)&lvCol);
lvCol.iOrder=4;
lvCol.pszText=_T("次序");
SendDlgItemMessage( hDlg,IDC_DB_PLACE_LIS,LVM_INSERTCOLUMN,0,(WPARAM)&lvCol);
添加了各项,估计还得插入行才行,给点提示,感谢
回复
hyacinth531 2008-04-03
没有,我正想问这个问题,给点提示代码好吗?感谢
回复
shakaqrj 2008-04-03
你插入行了吗?
回复
shakaqrj 2008-04-03
表用SendDlgItemMessage,直接sendmessage
回复
shakaqrj 2008-04-03
hDlg是什么?
应该是listctrl的巨冰
回复
hyacinth531 2008-04-03
up
回复
hyacinth531 2008-04-03
给点建议啊!!
回复
hyacinth531 2008-04-03

LVITEM lvItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 1;
lvItem.pszText = "dhduhud";
//lvItem.iSubItem = nCol;
int nIndex= (int)SendDlgItemMessage( hDlg,IDC_DB_PLACE_LIS,LVM_SETITEMTEXT,0,(WPARAM)&lvItem);
高手,我这么作了,但是list中并没有任何内容啊?
回复
hyacinth531 2008-04-03
我试试,感谢!!!!!!!!!!!!!!
回复
shakaqrj 2008-04-03
LVITEM lvItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = nRow;
lvItem.pszText = szString;
lvItem.iSubItem = nCol;
回复
hyacinth531 2008-04-03
请问)&lvItem是什么呢?
回复
shakaqrj 2008-04-03
::SendMessage(hWnd,LVM_SETITEM, (WPARAM)0,(WPARAM)&lvItem);
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-04-03 12:48
社区公告

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