VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 406|回复: 6

学习教程VC基础篇之玩转控件第4课,单选框 遇到问题,求助

[复制链接]
75_avatar_middle
最佳答案
0 
online_vip 发表于 2019-9-12 16:44:18 | 显示全部楼层 |阅读模式
  1. void CMFCApplication1Dlg::OnBnClickedBt()
  2. {
  3.     // TODO: 在此添加控件通知处理程序代码
  4.     //m_MyBt_1.EnableWindow(FALSE);

  5.     CButton* pButton_Nan = (CButton*)::GetDlgItem(GetSafeHwnd() ,IDC_RADIO_NAN);

  6.     if (pButton_Nan)
  7.     {
  8.         pButton_Nan->SetCheck(BST_CHECKED);
  9.     }


  10. }
复制代码



运行这段代码, 当 程序  运行到:  pButton_Nan->SetCheck(BST_CHECKED);    奔溃了 如下图:
学习教程VC基础篇之玩转控件第4课,单选框 遇到问题,求助




上一篇:.pk8文件怎么进行私钥文件加密?
下一篇:Cstudent类对象赋值程序崩溃困扰
04_avatar_middle
最佳答案
7 
online_vip 发表于 2019-9-12 19:23:57 | 显示全部楼层
本帖最后由 Debug 于 2019-9-17 22:19 编辑

::GetDlgItem加了 :: 获取的是窗口句柄,而你下面的代码pButton_Nan->SetCheck(BST_CHECKED);需要的是控件类的指针,窗口句柄是不能直接强制转换为控件类的指针,这样不崩才怪
51_avatar_middle
最佳答案
82 
online_admins 发表于 2019-9-12 17:20:05 | 显示全部楼层
你用 ::GetDlgItem 这个全局的 API 返回的是 IDC_RADIO_NAN 这个控件对应的窗口句柄,不是 CWnd 类型的指针,之后你就直接强转成 CButton* 肯定是不行的!

CButton* pButton_Nan = (CButton*)GetDlgItem(IDC_RADIO_NAN);
这样就可以了
75_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-9-12 17:52:54 | 显示全部楼层
Syc 发表于 2019-9-12 17:20
你用 ::GetDlgItem 这个全局的 API 返回的是 IDC_RADIO_NAN 这个控件对应的窗口句柄,不是 CWnd 类型的指针 ...

我去调试下  看看全局 ::GetDlgItem() 返回得是哪个窗口句柄    好奇, 谢谢老大指点! 老大,中秋快乐
75_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-9-12 18:07:22 | 显示全部楼层
滴水 发表于 2019-9-12 17:52
我去调试下  看看全局 ::GetDlgItem() 返回得是哪个窗口句柄    好奇, 谢谢老大指点! 老大,中秋快乐

l老大,刚才我调试,通过全局  ::GetDlgItem() 确实 是取到了 按钮得窗口句柄! 我刚才理解得老大恢复得内容以为这样获取得是 这个单选框得主窗口句柄!  按理说 下面不应该奔溃得啊,句柄正确取到了! 如下图:
学习教程VC基础篇之玩转控件第4课,单选框 遇到问题,求助
75_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-9-12 21:04:42 | 显示全部楼层
xiao14116 发表于 2019-9-12 19:23
::GetDlgItem加了::获取的是窗口句柄,而你下面的代码pButton_Nan->SetCheck(BST_CHECKED);需要的是控件 ...

理解了 谢谢 中秋快乐
58_avatar_middle
最佳答案
43 
online_vip 发表于 2019-9-12 23:55:38 | 显示全部楼层
xiao14116 发表于 2019-9-12 19:23
::GetDlgItem加了::获取的是窗口句柄,而你下面的代码pButton_Nan->SetCheck(BST_CHECKED);需要的是控件 ...

受教了,中秋快乐。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-26 15:58

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表