如何得到MFC多文件程式中子選項卡(Tab型別)的序號
阿新 • • 發佈:2018-12-23
MFC多文件程式開啟多個子文件時,每個試圖都是一個選項卡,當我們點選一個選項卡啟用它時,如何知道我們啟用的是哪一個子選項卡?
方法:在主框架視窗CMainFrame類中新增訊息處理AFX_WM_CHANGING_ACTIVE_TAB
mainfrm.h中:
afx_msg LRESULT OnActivateTabChanged(WPARAM, LPARAM);
mainfrm.cpp中:
在訊息對映中新增:
ON_REGISTERED_MESSAGE(AFX_CHANGE_ACTIVE_TAB, &CMainFrame::OnActivateTabChanged)
在實現中新增:
LRESULT CMainFrame::OnActivateTabChanged(WPARAM wp, LPARAM lp)
{
int tab = ((CMFCBaseTabCtrl*)lp)->GetActivateTab();
return 0;
}
注意:實際使用時發現,選項卡的序號是從0開始,依次遞增,但是Tab樣式的多文件程式中,選項卡的位置是可以自由拖動變換的,位置改變以後,序號也相應改變,所以這個序號也不能被當做一個固定引數來代表各個選項卡。