高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】关于cfiledialog的应用(多选文件).................
关于cfiledialog的应用(多选文件).................
关于cfiledialog的应用(多选文件).................
cstring filepath;
cfiledialog file(true,0,0,ofn_allowmultiselect | ofn_enablesizing);
if(file.domodal() == idcancel)
return;
position pos = file.getstartposition();
while(pos != null)
{
filepath = file.getnextpathname(pos);
if(m_list.findstring(0,filepath) == -1)
{
m_list.addstring(filepath);
}
}
为什么有时候多选文件的时候选不上?
cfiledialog自己有个存储选中的文件名和路径名的buffer, 不过默认只有256个字符长, 多选的时候所有的文件名和路径名连在一起如果长于256个字符, 多出的部分就会被无视..
用ofn_allowmultiselect的时候用户必须自己设立足够大的buffer空间, 然后告诉cfiledialog使用用户的buffer存储选中的文件/路径名.
参考vc++ msdn下的cfiledialog, m_ofn, lpstrfile, nmaxfile项目.
virtue is like a rich stone, best plain set.
-- francis bacon, <of beauty>
问题已经解决,谢谢楼上的.......................
|