none
怎在listview中更新的内容文字是一行行的更新下来,而不是一筐筐的下来? RRS feed

  • 问题

  • 怎在listview中更新的内容文字是一行行的更新下来,而不是一筐筐的下来?

    如:1.abcd

          2.abcd

          3.abcd

    而不是:

    1.abcd       2.qwer    3.qwert

      efgd          qwer         asfg

    4.asdf       5.......

      asdf

    不是windows窗体应用程序中的tile,是windows mobile 模拟器中应如何改?

     

    2010年4月1日 9:27

答案

  • hello,

    这个和你开始的listview设定有关。举个列子来说,我要listview显示三列数据,分别是Time、Location和Event,就可以在窗体的初始化程序中加入如下的语句(这里用的是C++,换成C#的话,应该很简单)

            //设置列表框标题

    CListCtrl * pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_DISP);

    CRect rt;

    pListCtrl->GetClientRect(&rt);

    pListCtrl->InsertColumn(0,_T("Time"),LVCFMT_LEFT,rt.Width()*0.3);

    pListCtrl->InsertColumn(1,_T("Location"),LVCFMT_LEFT,rt.Width()*0.4);

    pListCtrl->InsertColumn(2,_T("Event"),LVCFMT_LEFT,rt.Width()*0.3);

    然后在追加listview记录的时候,写如下的语句:

    //向列表框中添加信息

    pListCtrl->InsertItem(k,_T("Test"));

    pListCtrl->SetItemText(k,0,pWorkinfo->szTIME);

    pListCtrl->SetItemText(k,1,pWorkinfo->szLOCATION);

    pListCtrl->SetItemText(k,2,pWorkinfo->szEVENT);

    这里k是一个全局变量,记录listview中显示的数据记录数。


    施炯
    2010年4月1日 11:24
    版主

全部回复

  • hello,

    这个和你开始的listview设定有关。举个列子来说,我要listview显示三列数据,分别是Time、Location和Event,就可以在窗体的初始化程序中加入如下的语句(这里用的是C++,换成C#的话,应该很简单)

            //设置列表框标题

    CListCtrl * pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_DISP);

    CRect rt;

    pListCtrl->GetClientRect(&rt);

    pListCtrl->InsertColumn(0,_T("Time"),LVCFMT_LEFT,rt.Width()*0.3);

    pListCtrl->InsertColumn(1,_T("Location"),LVCFMT_LEFT,rt.Width()*0.4);

    pListCtrl->InsertColumn(2,_T("Event"),LVCFMT_LEFT,rt.Width()*0.3);

    然后在追加listview记录的时候,写如下的语句:

    //向列表框中添加信息

    pListCtrl->InsertItem(k,_T("Test"));

    pListCtrl->SetItemText(k,0,pWorkinfo->szTIME);

    pListCtrl->SetItemText(k,1,pWorkinfo->szLOCATION);

    pListCtrl->SetItemText(k,2,pWorkinfo->szEVENT);

    这里k是一个全局变量,记录listview中显示的数据记录数。


    施炯
    2010年4月1日 11:24
    版主
  • 先谢了,不过C++不懂啊。。转不过来

    2010年4月2日 1:50
  • 你好,

    我在操作ListCtrl时,可以InsertItem()lRow,str;

    但是在一系列操作后,SetItemText(lRow,lCol,str)返回0,

    不知道是什么原因。

    • 已编辑 kamiao 2010年4月13日 3:09 错误
    2010年4月13日 2:59