程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 如何讓一個打開的文檔成為活動文檔

如何讓一個打開的文檔成為活動文檔

編輯:關於VC++

提出問題:

有一個樹型控件,在其TVITEM的用戶部分存儲著一個文檔指針。當雙擊項目時,我想從打開的文檔列表中激活文檔。所以對於給定的文檔類(CDocument)指針,如何在MDI應用中激活這個指針?

在回答這個問題之前需要糾正的是:文檔是不能被激活的,只有窗口能被激活。在提出的問題中隱含著這樣一種假設,就是每一個文檔只有一個視,MDI子框架與這個視關聯。因此要激活文檔也就是盯住幾個指針。從文檔可以獲得它的視。

POSITION pos = pDoc->GetFirstViewPosition();

CView* pView = pDoc->GetNextView(pos);

pView是與文檔關聯的第一個視。這裡假設這個文檔有一個而且只有一個視。如果這個文檔有一個以上關聯的視(例如,在MDI應用中對相同的文檔用戶打開了兩個窗口),你必須決定激活哪一個。最容易的辦法是首先使用列表中第一個視。一旦你有了這個視,你必須獲得包含它的MDI子框架。

CFrameWnd *pFrame = pView->GetParentFrame();

GetParentFrame得到給定窗口的第一個父框架—第一個父窗口是CFrameWnd。假設應用是MDI,那麼包含子框架的視應該為CMDIChildWnd。一旦有了MDI子框架,你就可以調用pFrame->MDIActivate來激活它。另外,你還必須將指針強行轉換為CMDIChildWnd。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved