在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不用加的这里也要加。
下面的内容得用变量添加,用一下的语句有问题,会出现运行是错误。
m_list.InsertItem(0,LPCTSTR(temp->fAddress));
m_list.SetItemText(0,1,LPCTSTR(temp->fAddress+temp->length-1));用_T当然也不行。请问改用什么类型转换。
我是刚开始搞mfc,查了半天还是不会。
ps:我用的vs2008,估计类型要求会严格一些,所以vc6.0不用加的这里也要加。
解决方案 »
- ActiveX控件一个局部类方法怎么访问另一个类的对象?
- 用Winsocket编写了一个简单的网络文件传输程序,由客户端向服务器端发送文件,服务器端何时调用receiveSocket.Receive()来接收文件啊?
- 一个怪现象,请大家帮忙。
- string和CString如何相互转换
- 该死的DirectShow() !紧急SOS!!!!
- 关于写局域网内发送消息时遇到的中文问题。
- 请问在VC下如何调用exe文件?
- DirectDraw创建离屏表面失败,返回DDERR_NODIRECTDRAWHW
- 懂Boost的速度抢分
- 这是网站的错误吗?
- ASCII码超出0-127范围问题
- DHTMLDialog的疑问!如何获取远端网页内容
我刚上手,对mfc里面这中类型转化实在是一窍不通。
oss<<(temp->fAddress);
std::string s(oss.str());
m_list.InsertItem(0,LPCTSTR(s.c_str()));这样可以解决问题,但是是乱码,看起来像是韩文。好想是unicode的设置问题,但是在哪里设置,一般是什么 ?
直接用个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
strText.Format(TEXT("%d"),temp->length);
m_list.SetItemText(num,2,LPCTSTR(strText));原来是应为vs2008默认用的是Unicode字符集,改成多字符集就ok了。但是有没有更方便一点的把int转化成LPCTSTR的解决办法,就像_T()这样类似的,而不用写两行这么麻烦的。