一个异常忙活了一下午了,我晕。。。。。。 调试时,断言失败。..\3077\vc\MFCATL\ship\atlmfc\include\afxwin2.inLine: 619点击重试Unhandled exception at 0x7c29112b (mfc71d.dll) in XXX.exe: User breakpoint.搞不懂了。请问有遇到类似问题的兄弟没?帮忙指点下迷津,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 打开afxwin2.inl看看619行的代码 _AFXWIN_INLINE void CButton::SetButtonStyle(UINT nStyle, BOOL bRedraw) { ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, BM_SETSTYLE, nStyle, (LPARAM)bRedraw); } m_btnNum0.SetBitmaps(NUM0_NORMAL, NUM0_HOVER ,NUM0_DOWN);CButtonEx m_btnMore;m_btnNum0是 一个CButtonEx,提示是其句柄无效?怎么会这样? 说明你的调用SetButtonStyle函数的对象不是一个合法的windows窗口 你的m_btnMore还没有Create吧,当然不是一个有效地窗口 怎么会这样?那是一个按钮,直接关联的。DDX_Control(pDX, IDC_BUTTON_NUM0, m_btnNum0); 直接控件关联的,不用Create吧。那么为什么会这样?顺序问题? 那你要看下m_hWnd这个成员的值了,检查下有没问题 m_hWnd是在DDX中赋值的,而DDX是在CDialog::OnInitDialog()里调用的,你是不是在CDialog::OnInitDialog()之前就调用了CButton::SetButtonStyle了啊? 我当年也遇到过一个困扰我很长时间的断言失败,,原因是子窗口没创建 就在 movewindow中改变子窗口的大小 把所有断点都去掉,CLEAN后重新编译运行下看看? 真是这个问题,打了断点,DoDataExchange没进去,原来基类OnInitDialog竟然没有调用CDialog::OnInitDialog(),直接return TRUE了。 MFC如何给自己的软件实现这种功能? 向所有CSDN社区网友道歉! 再问一个问题,我调用office生成了一个表格,但是如何向excel中插入图片啊? C++类成员函数如何调用外部重名函数? 如何在一个vc工程中添加一个dll?? _RecordsetPtr怎么变成CString 菜鸟问题请教? 在控制台程序中可能使用CSocket类吗? 救命!关于Oledb oracle和BLOB的问题!! Trojan这种木马有什么不用注册的好工具杀?? [Help]AccessibleObjectFromWindow函数在WindowsService下无法使用么??? 如何连接到VPN服务器?
看看619行的代码
_AFXWIN_INLINE void CButton::SetButtonStyle(UINT nStyle, BOOL bRedraw)
{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, BM_SETSTYLE, nStyle, (LPARAM)bRedraw); }
m_btnNum0.SetBitmaps(NUM0_NORMAL, NUM0_HOVER ,NUM0_DOWN);
CButtonEx m_btnMore;m_btnNum0是 一个CButtonEx,提示是其句柄无效?怎么会这样?
说明你的调用SetButtonStyle函数的对象不是一个合法的windows窗口
你的m_btnMore还没有Create吧,当然不是一个有效地窗口
那你要看下m_hWnd这个成员的值了,检查下有没问题
原因是子窗口没创建 就在 movewindow中改变子窗口的大小