vc++ CFileDialog 如何获得下一个文件名
我用CFileDialog选择了多个文件,要插入listcontral里面,里面有两个列,一个是文件名,一个是路径+文件名我想知道插入文件名的时候如何插入呢,注意不是li...
我用CFileDialog 选择了多个文件,要插入 list contral 里面,里面有两个列,一个是文件名,一个是 路径+文件名我想知道 插入文件名的时候 如何插入呢,注意不是 listcombox
我这样写好像错了
POSITION mPos = openfile.GetStartPosition(); for (int i = 0;NULL != mPos;i++) { pathName = openfile.GetNextPathName(mPos);
fileName = pathName.Right(pathName.GetLength() - pathName.ReverseFind('\\') - 1); m_ListCtl.InsertItem(0,pathName); //把包括路径在内的文件名写到list控件里 m_ListCtl.InsertItem(1,fileName); }InsertItem 这个好像是在某一个列插入新的数据吧?我这样写是不是对的?插入数据? 在第二列插入 文件名 第一列插入 全路径请帮我改正下 展开
我这样写好像错了
POSITION mPos = openfile.GetStartPosition(); for (int i = 0;NULL != mPos;i++) { pathName = openfile.GetNextPathName(mPos);
fileName = pathName.Right(pathName.GetLength() - pathName.ReverseFind('\\') - 1); m_ListCtl.InsertItem(0,pathName); //把包括路径在内的文件名写到list控件里 m_ListCtl.InsertItem(1,fileName); }InsertItem 这个好像是在某一个列插入新的数据吧?我这样写是不是对的?插入数据? 在第二列插入 文件名 第一列插入 全路径请帮我改正下 展开
2013-04-14
展开全部
下面的代码演示了如何设置多列并插入数据:
m_list.SetImageList(&m_listSmall,LVSIL_SMALL);//设置ImageList
m_list.InsertColumn(0, "Col 1 ",LVCFMT_LEFT,300,0);//设置列
m_list.InsertColumn(1, "Col 2 ",LVCFMT_LEFT,300,1);
m_list.InsertColumn(2, "Col 3 ",LVCFMT_LEFT,300,2);
m_list.InsertItem(0, "Item 1_1 ");//插入行
m_list.SetItemText(0,1, "Item 1_2 ");//设置该行的不同列的显示字符
m_list.SetItemText(0,2, "Item 1_3 ");
因此你的代码建议改成m_ListCtl.SetImageList(&m_listSmall,LVSIL_SMALL);//设置ImageList m_ListCtl.InsertColumn(0, "文件名",LVCFMT_LEFT,300,0);//设置列
m_ListCtl.InsertColumn(1, "文件路径",LVCFMT_LEFT,300,1); int iRow =0;POSITION mPos = openfile.GetStartPosition();while(mPos){ CString strPathName,strFileName;
strPathName=openfile.GetNextPathName(mPos); strFileName = strPathName.Right(strPathName.GetLength() - strPathName.ReverseFind('\\') - 1);
m_ListCtl.InsertItem(iRow, strFileName );//插入行
m_ListCtl.SetItemText(iRow,1, strPathName);//设置该行的不同列的显示字符
iRow++;}
m_list.SetImageList(&m_listSmall,LVSIL_SMALL);//设置ImageList
m_list.InsertColumn(0, "Col 1 ",LVCFMT_LEFT,300,0);//设置列
m_list.InsertColumn(1, "Col 2 ",LVCFMT_LEFT,300,1);
m_list.InsertColumn(2, "Col 3 ",LVCFMT_LEFT,300,2);
m_list.InsertItem(0, "Item 1_1 ");//插入行
m_list.SetItemText(0,1, "Item 1_2 ");//设置该行的不同列的显示字符
m_list.SetItemText(0,2, "Item 1_3 ");
因此你的代码建议改成m_ListCtl.SetImageList(&m_listSmall,LVSIL_SMALL);//设置ImageList m_ListCtl.InsertColumn(0, "文件名",LVCFMT_LEFT,300,0);//设置列
m_ListCtl.InsertColumn(1, "文件路径",LVCFMT_LEFT,300,1); int iRow =0;POSITION mPos = openfile.GetStartPosition();while(mPos){ CString strPathName,strFileName;
strPathName=openfile.GetNextPathName(mPos); strFileName = strPathName.Right(strPathName.GetLength() - strPathName.ReverseFind('\\') - 1);
m_ListCtl.InsertItem(iRow, strFileName );//插入行
m_ListCtl.SetItemText(iRow,1, strPathName);//设置该行的不同列的显示字符
iRow++;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询