我有一個有點像文本編輯器的MFC程序:http://www.dogdaysrpg.com/screen.png如何獲取標籤視圖中活動標籤的文件名?
我想要的是獲取當前工作選項卡的文件名作爲字符串。例如,在上圖中,字符串將是「Emergence1」。
如何獲取活動選項卡上使用的文件名?
我有一個有點像文本編輯器的MFC程序:http://www.dogdaysrpg.com/screen.png如何獲取標籤視圖中活動標籤的文件名?
我想要的是獲取當前工作選項卡的文件名作爲字符串。例如,在上圖中,字符串將是「Emergence1」。
如何獲取活動選項卡上使用的文件名?
這就是我解決問題的方法。
我需要獲取當前活動文檔的標題。
爲了檢索當前活動文檔,使用下面的代碼:
CDocument * CEmergenceView::GetDoc()
{
CMDIChildWnd * pChild =
((CMDIFrameWnd*)(AfxGetApp()->m_pMainWnd))->MDIGetActive();
if (!pChild)
return NULL;
CDocument * pDoc = pChild->GetActiveDocument();
if (!pDoc)
return NULL;
// Fail if doc is of wrong kind
if (! pDoc->IsKindOf(RUNTIME_CLASS(CDocument)))
return NULL;
return (CDocument *) pDoc;
}
然後,當你檢索文檔中調用GetTtile,即:
CDocument * currentDoc = GetDoc();
CString title = currentDoc->GetTitle();
獲取特定視圖的標題非常簡單:GetParentFrame()->GetTitle()
。
如果您不知道當前選擇哪個視圖,則發現實際上有點棘手。有一個OnActivateView
,當視圖被激活或取消激活時會被調用。您需要添加一個超載來跟蹤哪一個最近被激活。然後找到它,您將列舉您的意見(與您的文檔的GetFirstViewPosition
,GetNextView
)找到一個活動。
你爲什麼不記得文件的名稱?你一定知道它曾經設置標籤標題? –
對不起....很多基礎架構是由MFC嚮導創建的。所以我不知道那部分是如何設置的。 – user3126297
如果你不知道,我們有什麼機會?我建議你應該知道你的程序。 –