BOOL CCheckListBox::OnChildNotify(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult) { switch (message) { case WM_DRAWITEM: ASSERT(pResult == NULL); // no return value expected PreDrawItem((LPDRAWITEMSTRUCT)lParam); break; case WM_MEASUREITEM: ASSERT(pResult == NULL); // no return value expected PreMeasureItem((LPMEASUREITEMSTRUCT)lParam); break; case WM_COMPAREITEM: ASSERT(pResult != NULL); // return value expected *pResult = PreCompareItem((LPCOMPAREITEMSTRUCT)lParam); break; case WM_DELETEITEM: ASSERT(pResult == NULL); // no return value expected PreDeleteItem((LPDELETEITEMSTRUCT)lParam); break; default: return CListBox::OnChildNotify(message, wParam, lParam, pResult); } return TRUE; }
BOOL CCheckListBoxEx::OnChildNotify(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pLResult) { if (m_ilCheck.GetSafeHandle()) { switch (message) { case WM_DRAWITEM: PreDrawItem((LPDRAWITEMSTRUCT)lParam); return TRUE; case WM_MEASUREITEM: PreMeasureItem((LPMEASUREITEMSTRUCT)lParam); return TRUE; } } // else default return CCheckListBox::OnChildNotify(message, wParam, lParam, pLResult); }