to lixiaosan(小三):放在OnInitialUpdate中也不行呀to NJHS(天上来客(中国程序先锋网www.cppn.net)大量免费源代码):如果按你的方法,添加完列后直接调用Display是可以显示记录的,但ListCtrl中的内容是动态的呀,我要在其他地方添加,但我现在在其他地方添加就不行呀!
// The pointer to my list view control. extern CListCtrl* pmyListCtrl;CString strText; int nColumnCount = pmyListCtrl->GetHeaderCtrl()->GetItemCount();// Insert 10 items in the list view control. for (int i=0;i < 10;i++) { strText.Format(TEXT("item %d"), i); // Insert the item, select every other item. pmyListCtrl->InsertItem( LVIF_TEXT|LVIF_STATE, i, strText, (i%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0); // Initialize the text of the subitems. for (int j=1;j < nColumnCount;j++) { strText.Format(TEXT("sub-item %d %d"), i, j); pmyListCtrl->SetItemText(i, j, strText); }这是MSDN的标准写法,你试试,不行就是其他地方错了 ----------------------------------------------- MyCSDN 免费版 - http://community.csdn.net/Expert/TopicView1.asp?id=4608614
to zx_sanjin((恒金软件)-不结贴我跟你急!):大虾能不能帮我看一下程序呀?我实在看不出来了,这个要求有点过分,我后面再开帖单独给你加分,谢谢了!
CListCtrl& m_List = GetListCtrl();
m_List.InsertColumn(0, "商品", LVCFMT_CENTER, 100);
m_List.InsertColumn(1, "购买人", LVCFMT_CENTER, 100);
m_List.InsertColumn(2, "购买日期", LVCFMT_CENTER, 150);
m_List.InsertColumn(3, "价格", LVCFMT_CENTER, 100);
m_List.InsertColumn(4, "数量", LVCFMT_CENTER, 100); m_List.SetExtendedStyle(m_List.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);在PreCreateWindow函数中已经设置了 cs.style |= LVS_REPORT | LVS_SHOWSELALWAYS;
然后我在ListView中添加私有函数Display,在其中我添加如下代码
CListCtrl& m_List = GetListCtrl(); int nCount = m_List.GetItemCount();
int nIndex = m_List.InsertItem(nCount, _T("aa"), 0);
m_List.SetItemText(nIndex, 1, _T("bbb"));
m_List.SetItemText(nIndex, 2, _T("2006-4-20"));
m_List.SetItemText(nIndex, 3, _T("1.5"));
m_List.SetItemText(nIndex, 4, _T("1")); m_List.Invalidate();可当我调用Display时ListView就是没有动静
cs.style |= LVS_REPORT | LVS_SHOWSELALWAYS;
m_List.SetExtendedStyle(m_List.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); m_List.InsertColumn(0, "商品", LVCFMT_CENTER, 100);
m_List.InsertColumn(1, "购买人", LVCFMT_CENTER, 100);
m_List.InsertColumn(2, "购买日期", LVCFMT_CENTER, 150);
m_List.InsertColumn(3, "价格", LVCFMT_CENTER, 100);
m_List.InsertColumn(4, "数量", LVCFMT_CENTER, 100); this->Display();
int nIndex = m_List.InsertItem(nCount, _T("aa"), 0);
m_List.SetItemText(nIndex, 1, _T("bbb"));
m_List.SetItemText(nIndex, 2, _T("2006-4-20"));
m_List.SetItemText(nIndex, 3, _T("1.5"));
m_List.SetItemText(nIndex, 4, _T("1"));GetItemCount
InsertItem
返回值多少啊?
-----------------------------------------------
MyCSDN 免费版 - http://community.csdn.net/Expert/TopicView1.asp?id=4608614
CListCtrl& m_List = GetListCtrl();
TRACE1("%d\n", m_List.InsertColumn(0, "商品", LVCFMT_CENTER, 100));
TRACE1("%d\n", m_List.InsertColumn(1, "购买人", LVCFMT_CENTER, 100));
TRACE1("%d\n", m_List.InsertColumn(2, "购买日期", LVCFMT_CENTER, 150));
TRACE1("%d\n", m_List.InsertColumn(3, "价格", LVCFMT_CENTER, 100));
TRACE1("%d\n", m_List.InsertColumn(4, "数量", LVCFMT_CENTER, 100));
TRACE出的值都为0,大家看是怎么回事呀?
-----------------------------------------------
MyCSDN 免费版 - http://community.csdn.net/Expert/TopicView1.asp?id=4608614
extern CListCtrl* pmyListCtrl;CString strText;
int nColumnCount = pmyListCtrl->GetHeaderCtrl()->GetItemCount();// Insert 10 items in the list view control.
for (int i=0;i < 10;i++)
{
strText.Format(TEXT("item %d"), i); // Insert the item, select every other item.
pmyListCtrl->InsertItem(
LVIF_TEXT|LVIF_STATE, i, strText,
(i%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED,
0, 0); // Initialize the text of the subitems.
for (int j=1;j < nColumnCount;j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
pmyListCtrl->SetItemText(i, j, strText);
}这是MSDN的标准写法,你试试,不行就是其他地方错了
-----------------------------------------------
MyCSDN 免费版 - http://community.csdn.net/Expert/TopicView1.asp?id=4608614