ocx 在 IE中的消息传递是咋回事

ocx 在 IE中的消息传递是怎么回事?
我自己做了一个ActiveX控件,基于一个对话框来做的,在对话框上有编辑框和按钮等东西。我修改PreTranslateMessage来获取WM_LBUTTONDOWN和WM_LBUTTONUP消息。在容器测试中测试这个控件,是可以获取到的,但是在IE中,却无法获取到这个消息,一跟踪,原来PreTranslateMessage都没有被调用。
网上看了些资料,说IE中虽然激活了控件中的子控件,但是不会激活控件本身,所以消息得不到传递。
修改了如下
OnMouseActivate(CWnd*   pDesktopWnd,   UINT   nHitTest,   UINT   message)  
{
//   TODO:   Add   your   message   handler   code   here   and/or   call   default
if   (!m_bUIActive)  
OnActivateInPlace   (TRUE,   NULL);   //   ==   UI-Activate   the   control

return   COleControl::OnMouseActivate(pDesktopWnd,   nHitTest,   message);
}
但还是没有去调用这个消息。
大家是否有遇到这个情况,如何解决。
另外,在IE中,鼠标的消息是如何经ie,到控件,到每一个子控件的,哪位大侠清楚这个消息的传递流程啊

------解决方案--------------------
在IE 里创建的控件可能是windowless的,你不应该在PreTranslateMessage消息里做,而应该在
消息影射宏里来处理是不会有问题的。
BEGIN_MSG_MAP(xxx)
MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUp)
END_MSG_MAP()