如何使用多个子窗体处理事件“Tab Control”

时间:2015-11-28 14:40:53

标签: c++ mfc

我在codeproject中看到“Simple Tab Control For Visual C++”并且此项目未处理其他表单上的事件,我尝试使用OnChildNotify来修复它但不起作用。 我该如何处理这些事件?(请修改代码项目源代码)

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您正在对选项卡控件进行子类化,则

OnChildNotify非常有用。您还可以将ON_NOTIFY_REFLECT用于子类(使用其中一个)。

举个简单示例,您不需要上面的代码项目示例,只需使用CTabCtrl即可。您可以通过将ON_NOTIFY添加到消息映射来处理来自父窗口的消息:

BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
   ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnTabSelChange)
END_MESSAGE_MAP()

void CMyDialog::OnTabSelChange(NMHDR*, LRESULT*)
{
    //user changed tab index
    //new index = Tab.GetCurSel()
}

在此示例中,CMyDialog可以有多个子窗口。

另见Tab Control Notifications