ホイールイベントはフォーカスを持つウィンドウで優先的に処理されるようなのですが、場合によってはフォーカスよりもマウスカーソル位置を優先したい事があります。
今まで結構回りくどいやり方をしていたのですが、PreTranslateMessageにちょろっと書いたら上手く動いたようなので、載せておきます。
(あまり動作検証していませんが)
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_MOUSEWHEEL) { CWnd* pWnd = WindowFromPoint(pMsg->pt); if (pWnd && IsChild(pWnd)) { pMsg->hwnd = pWnd->GetSafeHwnd(); } } return __super::PreTranslateMessage(pMsg); }