MFC增加控件在调试出现“Debug Assertion Failed!”报错
在项目中想要增加MFC控件远程控制机器人小车的运动轨迹(大半径/小半径)和射球的方式(近射/远射),于是增加Radio Button单选控件。拖出四个控件后,右击“添加变量”,定义后在程序中调用实现相关功能。调试运行时,出现如下错误:网上总结的与代码本身相关的问题主要在于:1.野指针;2.内存泄露,参考如下:https://jingyan.baidu.com/article/b0b63dbfe75
在项目中想要增加MFC控件远程控制机器人小车的运动轨迹(大半径/小半径)和射球的方式(近射/远射),于是增加Radio Button单选控件。拖出四个控件后,右击“添加变量”,定义后在程序中调用实现相关功能。
调试运行时,出现如下错误:
网上总结的与代码本身相关的问题主要在于:1.野指针;2.内存泄露,参考如下:
https://jingyan.baidu.com/article/b0b63dbfe752f94a49307050.html
解决方法:
由于自己是MFC初学,认识到可能是自己代码问题,查看报错提示:
找到该文件和所在行:
搜索“ASSERT(::GetWindowLong(hWndCtrl, GWL_STYLE) & WS_GROUP);” 提示说:
在IDC_RADIO的属性中,“Group”选项改为true
于是,将“大半径”和“近射”的属性页中的“组”改为“True”:
不再报错。
关于 Radio Button单选控件的知识总结:
RadioGroup类用于创建按钮之间相互排斥的单选按钮组,在同一个单选按钮组中勾选一个按钮,则会取消该组中其他已经勾选的按钮的选中状态。
若将控件变量{x1,x2,...,xn}归为一组(如:大半径=x1,小半径=x2),这个组中的第一个radio(x1)设置Group属性为True,其余(x2~xn)的Group设置为False。
注意:同一组的控件变量{x1,x2,...,xn}的定义要连续放在一起
更多推荐
所有评论(0)