Microsoft Visual Studio 2010 与VC++6.0的差异出现问题

void DirTreeView::OnInitialUpdate()

{

CTreeView::OnInitialUpdate();

CTreeCtrl &Tree=GetTreeCtrl();


LPSHELLFOLDER lpsf=NULL;//IShellFolder接口

LPITEMIDLIST lpi=NULL;//ITERMIDLSIT结构体指针

HRESULT hr;

TV_ITEM tvi;


CImageList m_Image;//记录的是与树型控件关联的图像列表

SHFILEINFO sfi;//存放文件信息的结构

HIMAGELIST sys_small_icon;

sys_small_icon = (HIMAGELIST)SHGetFileInfo(NULL,0,&sfi,sizeof(sfi),

SHGFI_SYSICONINDEX|SHGFI_SMALLICON);

m_Image.Attach(sys_small_icon);

Tree.SetImageList(&m_Image,TVSIL_NORMAL);//将系统图像列表设为树控件的图象列表

m_Image.Detach ();


// 得到指向“桌面”的指针

hr=SHGetDesktopFolder(&lpsf);

SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOP,&lpi);

if (SUCCEEDED(hr))

{

Tree.DeleteAllItems();


char szBuff[MAX_PATH];//存放显示名称的缓冲区

TV_INSERTSTRUCT tvis; //向树型控件中插入节点时使用的结构


tvi.mask = TVIF_TEXT | TVIF_IMAGE |

TVIF_SELECTEDIMAGE | TVIF_CHILDREN ; //设置要插入的树节点信息

if(GetName(lpsf,lpi,SHGDN_NORMAL,szBuff)==FALSE)

return;

tvi.pszText = szBuff;//设置显示名称


GetNormalAndSelectedIcons(lpi, &tvi);

tvis.item = tvi;

tvis.hParent = TVI_ROOT;


hParent = GetTreeCtrl().InsertItem(&tvis);//插入根节点

FillTreeView(lpsf, NULL, hParent);

GetTreeCtrl().Expand (hParent,TVE_EXPAND);//展开“桌面”节点

lpsf->Release ();

}


}

加粗部分是问题所在

错误提示:

error C2440: '=' : cannot convert from 'char [260]' to 'LPWSTR'

解决办法:

char szBuff[MAX_PATH];//存放显示名称的缓冲区 中的char改成TCHAR 即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值