MFC TabView 切换事件(OnChangeActiveTab)

在 TabCtrl 控件中重载 OnTcnSelchangeTab 函数,再添加消息映射,会在产生切换事件,那么在单文档中如何捕捉到切换事件?

手动重载 OnChangeActiveTab 函数(类向导中没有,尴尬…),再在消息映射表中添加 AFX_WM_CHANGE_ACTIVE_TAB 消息。

声明

afx_msg LRESULT OnChangeActiveTab(WPARAM wp, LPARAM lp);

消息映射表

ON_REGISTERED_MESSAGE(AFX_WM_CHANGE_ACTIVE_TAB, CKernelHookView::OnChangeActiveTab)

实现

LRESULT CKernelHookView::OnChangeActiveTab(WPARAM wp, LPARAM lp)
{

    //切换时激活的视图
    if (GetActiveView()->IsKindOf(RUNTIME_CLASS(CSSDTView)))
    {

    }
    else if (GetActiveView()->IsKindOf(RUNTIME_CLASS(CIDTView)))
    {

    }

    return CTabView::OnChangeActiveTab(wp, lp);
}

你可能感兴趣的:(MFC TabView 切换事件(OnChangeActiveTab))