从后往前查找最后一个路径分隔符的索引 ,然后截取字符串
CString str = _T("C:\\WINDOWS\\SYSTEM32\\123EXE");
int nPos = strReverseFind (_T('\\'));
str = strLeft(nPos+1);
例如:CBitmap bmp;
bmpLoadBitmap(IDB_PAGE2);
GetDlgItem(IDC_PIC)->SetBitmap((HBITMAP)bmp); //IDC_PIC是框ID
bmpDetach();
InvalidateRect( rcPic ); // 重绘Pic控件区域
再加个循环就可以了。。。
补充:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
已经获取了CString类型的文件路径,一般推荐使用CFile或者CStdioFile进行文件 *** 作。
fread也是可以的,打开的文件名参数使用cstringGetBuffer(0)就可以了,不过注意工程最好不要是UNICODE模式,这种模式下fread会有一些麻烦。
'm_File' : undeclared identifier ,没有这个变量,要先定义的类型的;
m_File 在类 h 文件里面定义, CString m_File;
或者直接在函数里面定义也可以
你好 亲
修改后的应该是这样的
dlgFilem_ofnFlags |= OFN_ALLOWMULTISELECT | OFN_ENABLESIZING | OFN_HIDEREADONLY;
dlgFilem_ofnlpstrFilter = _T("Bin Files(bin)\0bin\0All Files()\0\0\0");
const int nMaxFiles = 1000;
const int nMaxPathBuffer = (nMaxFiles (MAX_PATH + 1)) + 1;
LPSTR pc = (LPSTR)malloc(nMaxPathBuffer sizeof(WCHAR));
if( pc )
{
dlgFileGetOFN()lpstrFile = pc;
dlgFileGetOFN()lpstrFile[0] = NULL;
dlgFilem_ofnnMaxFile = nMaxPathBuffer;
if (dlgFileDoModal() != IDOK)
{
return;
}
UpdateData(TRUE);
POSITION pos = dlgFileGetStartPosition();//获取第一个文件位置
UpdateData(FALSE);
while (pos)
{
m_FilePathName[i] = dlgFileGetNextPathName(pos);
if(i == 0)
{
m_TreeMuti1DeleteAllItems();
/TiXmlDocument doc1 = new TiXmlDocument("D:\\sumAbin");/
TiXmlDocument doc1 = new TiXmlDocument(m_FilePathName[0]);
/CString str;strFormat(_T("%s"),m_FilePathName[0]);AfxMessageBox(str);/
if (!doc1->LoadFile())
{
/CString str;strFormat(_T("%s"),m_FilePathName[0]);AfxMessageBox(str);/
return;
}
TiXmlElement root1=doc1->RootElement();
TiXmlElement pNode1=root1;
CrcXmlMuti1(pNode1,TVI_ROOT);
如果你写好了把开文件夹的代码,再加上这几句就OK了
void CMainFrame::OnFileOpen()
{
// TODO: Add your command handler code here
char szSelected[MAX_PATH];
LPITEMIDLIST pidl;
SUCCEEDED(SHGetPathFromIDList(pidl, szSelected));
}
CFileDialog::GetFolderPath ,这个是顺着CFileDialog思路的。
GetCurrentDirectory,可以获取当前的路径。如果你打开txt用的只是文件名称,没有路径的话,那使用的路径就是GetCurrentDirectory获取的路径。
以上就是关于MFC 如何从CString中获取文件目录全部的内容,包括:MFC 如何从CString中获取文件目录、MFC,如何获取文件图标并在Picture控件中显示、在mfc中获取的文件路径是cstring型,想用fread和fopen这样的函数读取文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)