在CListCtrl中添加内容,找了半天用 m_list.InsertColumn(0,_T("FAddress"), LVCFMT_LEFT, 70);添加了头部的。
下面的内容得用变量添加,用一下的语句有问题,会出现运行是错误。
m_list.InsertItem(0,LPCTSTR(temp->fAddress));
m_list.SetItemText(0,1,LPCTSTR(temp->fAddress+temp->length-1));用_T当然也不行。请问改用什么类型转换。
我是刚开始搞mfc,查了半天还是不会。
ps:我用的vs2008,估计类型要求会严格一些,所以vc6.0不用加的这里也要加。

解决方案 »

  1.   

    知道的指点下,不确定的也行,在线等,我去测试你提供的方法。
    我刚上手,对mfc里面这中类型转化实在是一窍不通。
      

  2.   

    知道的帮下忙哈。发现csdn这个板块弟兄们还挺多,转眼贴就不见了,呵呵。
      

  3.   

    std::ostringstream oss;
    oss<<(temp->fAddress);
    std::string s(oss.str());
    m_list.InsertItem(0,LPCTSTR(s.c_str()));这样可以解决问题,但是是乱码,看起来像是韩文。好想是unicode的设置问题,但是在哪里设置,一般是什么 ?
      

  4.   

    CListCtrl添加一项,有这么难吗?
      

  5.   

    temp->fAddress+temp->length-1 是什么 int?
    直接用个CString的串不就行了吗,
    m_list.InsertItem(0,L"test"); 
    m_list.SetItemText(0,1,L"test1");
    而且你添加头的时候只添加了一列,调用SetItemText可以吗
     m_list.InsertColumn(0,_T("FAddress1"), LVCFMT_LEFT, 70);
     m_list.InsertColumn(1,_T("FAddress2"), LVCFMT_LEFT, 70);
    然后再
       m_list.InsertItem(0,L"text1"); 
       m_list.SetItemText(0,1,L"text2");
    加完后是这样
    FAddress1   FAddress2
    text1       text2
      

  6.   

    老大,数值类型的先转换为字符串啊,用CString的Format()即可
      

  7.   

    是int型的,问题搞定了,用的是最后用的。
    strText.Format(TEXT("%d"),temp->length); 
    m_list.SetItemText(num,2,LPCTSTR(strText));原来是应为vs2008默认用的是Unicode字符集,改成多字符集就ok了。但是有没有更方便一点的把int转化成LPCTSTR的解决办法,就像_T()这样类似的,而不用写两行这么麻烦的。