大家好,我做了一个ActiveX,用的是组合控件,在这个组合控件中,我用了几个listCtrl,我希望每个listCtrl单项的颜色都不同。我以前用普通对话框做的时候,只要添加以下的语句就可以了:
afx_msg void OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult);
//.cpp文件中加入
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnNMCustomdraw)
void CListCtrlHiddenSB::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)
{
......,
}但是,在ActiveX中,我重载了一个listCtrl类,想在这个类里实现,但是很可惜NM_CUSTOMDRAW消息一直收不到,不知道大家有什么好的方法?

解决方案 »

  1.   

    http://blog.csdn.net/VisualEleven/archive/2010/10/18/5948057.aspx
      

  2.   

    WM_NOTIFY消息是发送到父窗口的。 如果你重写listview,并在类中处理自绘,你需要在父窗口中将notify消息反射到子窗口中,才能收到消息
      

  3.   

    谢谢VisualEleven的指点,不过你说的那种方法在MFC中是没问题的,但是在Composite Control的对话框中就不行了,消息收不到了。bdzwj,谢谢你的提醒,你能说的详细点吗?最好添一些代码,呵呵,谢谢啦
      

  4.   

    你这方法貌似行不通,因为是ActiveX控件中 
    曾经写过用于RichEdit显示gif的dll,刷新的问题就没搞定……等高手吧
      

  5.   

    是不是VC 6.0不支持,换乘VS2005,或者更高的版本会不会有结果?