问题:
vc++里某个窗口类调用SendMessage()函数时出现afxwin2.inl Line 42的断言错误,如图所示。
跟踪进去发现是
{ ASSERT(::IsWindow(m_hWnd)); return (int)::SendMessage(m_hWnd, BM_GETCHECK, 0, 0); }
_AFXWIN_INLINE void CButton::SetCheck(int nCheck)里面的IsWindow(m_hWnd)函数出错。
解决方法:
得一高人指点,说是因为窗口没有创建。可我明明是有new一个窗口类的呀。后来发现要在窗口类的构造函数或者初始化里调用Create(IDD_VIDEOMANAGER, this);绑定到一个窗口资源才行。加了这行代码后,问题就解决了。