最近做一个对话框,上面放一个视频,然后因为视频比例问题嘛,周围要涂黑色,所以在OnEraseBkgnd里做了代码实现
但是OnEraseBkgnd和OnPaint断点都不会到,不知道有没有什么原因导致
另外,自己在OnShowWindow(BOOL bShow, UINT nStatus)里面也主动发了一个SendMessage(WM_ERASEBKGND)也不会到ON_WM_ERASEBKGND()
ON_WM_PAINT()
afx_msg void OnPaint();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
都正确添加了,鼠标的单击双击、右键消息都回到的

解决方案 »

  1.   

    视频的父窗体是继承了class DlgChannelLocal: public DlgHPTMChild
    DlgChannelLocal这个类里的OnEraseBkgnd也不会到
    视频被创建时OnPaint会到一次另外视频应该不会接管这个消息的,视频是disable的
      

  2.   

    你可以这么做,先放个PICTURE控件,把这个控件类型设成图形(就是让这个控件显示什么的选项,比如:BITMAP,...);这样,这个控件就显示黑色的了,然后把播放视频的窗口赋给这个PICTURE控件,这样,视频就在PICTURE控件播放,因此不在视图范围内都是黑色的