mfc基于多文档CViewTree获取文件路径
时间: 2024-05-05 12:16:14 浏览: 106
您可以使用以下代码获取当前活动视图的文档路径:
```cpp
// 获取当前活动视图
CView* pActiveView = ((CMainFrame*)AfxGetMainWnd())->GetActiveView();
// 获取文档
CDocument* pDoc = pActiveView->GetDocument();
// 获取文档路径
CString strPath = pDoc->GetPathName();
```
如果您希望获取当前正在处理的视图的文档路径,则可以使用以下代码:
```cpp
// 获取当前处理的视图
CView* pView = GetActiveView();
// 获取文档
CDocument* pDoc = pView->GetDocument();
// 获取文档路径
CString strPath = pDoc->GetPathName();
```
相关问题
mfc基于多文档下拉框CViewTree获取文件路径
您可以在CViewTree类中使用以下代码获取当前打开的文件路径:
```c++
// 获取当前选中的文档
CMDIFrameWnd* pMainFrame = static_cast<CMDIFrameWnd*>(AfxGetApp()->m_pMainWnd);
CMDIChildWnd* pChildWnd = pMainFrame->MDIGetActive();
CMyDoc* pDoc = dynamic_cast<CMyDoc*>(pChildWnd->GetActiveDocument());
// 获取文档的文件路径
CString strFilePath = pDoc->GetPathName();
```
其中,CMyDoc是您的文档类,可以根据您的实际情况进行修改。如果您的文档类不是CMyDoc,可以将其替换为您的文档类名。
mfc多文档CViewTree获取文件路径
在MFC多文档应用程序中,可以通过以下方式来获取当前CViewTree所关联的文件路径:
1.获取当前活动的文档对象
可以通过以下代码来获取当前活动的文档对象:
```
CMDIFrameWnd* pMainFrame = (CMDIFrameWnd*)AfxGetMainWnd();
CMDIChildWnd* pChildWnd = pMainFrame->MDIGetActive();
CMyDoc* pDoc = (CMyDoc*)pChildWnd->GetActiveDocument();
```
其中,CMyDoc是你自己定义的文档类。
2.在文档对象中获取文件路径
在文档类中,可以通过以下代码来获取文件路径:
```
CString strFilePath = pDoc->GetPathName();
```
如果文档是新建的,那么GetPathName()将返回一个空字符串。因此,你需要在你的代码中进行相应的处理。
3.在CViewTree中获取文档对象
在CViewTree中,可以通过以下代码来获取文档对象:
```
CMyDoc* pDoc = (CMyDoc*)GetDocument();
```
其中,CMyDoc是你自己定义的文档类。
4.在CViewTree中获取文件路径
在CViewTree中,可以通过以下代码来获取文件路径:
```
CString strFilePath = pDoc->GetPathName();
```
如果文档是新建的,那么GetPathName()将返回一个空字符串。因此,你需要在你的代码中进行相应的处理。
阅读全文