커스터마이징하려고하는 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 만 여전히 부모에게 메시지를 보내지 않습니다. 또한 나는 부모에게 메시지를 보낼 때 거의 무한 루프로 끝나는 것을 보았습니다. (몇 가지 이유로 몇 차례 반복 한 후에 깰 수 있습니다).