利用MFC進(jìn)行多文檔程序開發(fā)的時(shí)候,靈活運(yùn)行系統(tǒng)提供的獲取指針方法快速定位到某一個(gè)窗體,我個(gè)人覺得蠻重要的。
1、GetParent(HWND hWnd);獲取當(dāng)前窗口是個(gè)子窗口,獲取是父窗口的指針,如果是彈出的模態(tài)窗口(頂層窗口),獲取的是沒有WS_CHILD屬性的間接父窗口。
MSDN中的解釋如下:
If the window is a child window, the return value is a handle to the parent window. If the window is a top-level window, the return value is a handle to the owner window. If the window is a top-level unowned window or if the function fails, the return value is NULL
2、獲取應(yīng)用程序的指針
AfxGetApp();
3、獲取主框架的指針
AfxGetMainWnd();
((CMainFrame*)AfxGetApp())->m_pMainWnd;
4、獲取菜單的指針
AfxGetMainWnd()->GetMenu();
5、獲取工具欄、狀態(tài)欄的指針
1)主窗口的相應(yīng)變量
m_wndStatusBar
m_wndToolBar
m_wndRibbonBar //ribbonBar工具欄
2) 函數(shù)獲取
AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_STATUS_BAR);
AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);
6、 文檔,指圖指針
AfxGetMainWnd()->GetActiveFrame();
AfxGetMainWnd()->GetActiveView(); //如果是多文檔,首先獲取子框架指針,AfxGetMainWnd()->GetActiveFrame()->GetActiveView();
AfxGetMainWnd()->GetActiveDocument();
7、獲取子控件的指針
GetDlgItem(AFX_IDW_PANE_FIRST) //多文檔在主框架中獲取的是主框架建立的一個(gè)偽視圖(通過CreateWindow創(chuàng)建的),子框架中獲取的才是真正的視圖
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。