我有一个自定义的 CTabCtrl,我正在尝试自定义(自动更改页面)。
如果我ON_NOTIFY_REFLECT(TCN_SELCHANGE, ...)
在我的选项卡控件中处理,ON_NOTIFY(TCN_SELCHANGE, ...)
则父类不会收到。
如何在子类和父类中同时接收通知消息?
目前我正在使用手动将 WM_NOTIFY 消息发送到父类的“解决方法”:
void CMyTabControl::OnSelChange(NMHDR *pHeader, LRESULT *pResult)
{
const int index = this->GetCurSel();
this->ShowTab(index);
const CWnd *const pParent = this->GetParent();
if (pParent != NULL)
{
*pResult = pParent->SendMessage(WM_NOTIFY, TCN_SELCHANGE,
reinterpret_cast<LPARAM>(pHeader));
}
}
编辑:我已经尝试过 *pResult = 0 和 *pResult = 1 但它仍然没有将消息发送到父级。另外,我注意到当我将消息发送给父级时,我最终陷入了一个几乎无限的循环(由于某种原因,它确实会在多次迭代后中断)。