【发布时间】:2013-09-16 21:12:34
【问题描述】:
我有一个名为CDialogParent的向导创建的CDialog,然后创建一个子对话框模板有IDD= IDD_CHILD_DLG1,在这个子对话框中我放了一个按钮IDC_BTN1 (我不为这个孩子创建类处理程序)。
BOOL CDialogParent::OnInitDialog()
{
....
CDialog *pChild = new CDialog();
pChild->Create(IDD_CHILD_DLG1, this);
pChild->ShowWindow(SW_NORMAL);
}
通常,我需要为子级创建新的类处理程序 CDialogChild 并添加消息映射,例如:
BEGIN_MESSAGE_MAP(CDialogChild, CDialog)
ON_BN_CLICKED(IDC_BTN1, &CDialogChild::OnBnClickedBtn1)
END_MESSAGE_MAP()
我想通过在 CDialogParent 中声明消息映射来捕获子对话框 BUT 的控件消息 IDC_BTN1 的问题,例如:
BEGIN_MESSAGE_MAP(CDialogParent, CDialog)
ON_BN_CLICKED(IDC_BTN1, &CDialogParent::OnBnClickedBtn1)
END_MESSAGE_MAP()
如何在不创建新的类处理程序的情况下做到这一点? 感谢您的帮助!
【问题讨论】:
标签: c++ mfc dialog cdialog message-map