qq_26779635
eHackyd
2016-09-18 07:54
采纳率: 0%
浏览 2.0k

关于VC++MFC的GetDlgItem函数问题,希望有人解答下

我要做一个八皇后的可视化,然后m_editshow11是 edit control控件的int 变量,系统自动初始化为0,但是我想不显示在屏幕上,所以用了这个函数
但是运行后就显示了assertion failed winocc.cpp Line:241
希望大神给我解答下,急!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • qq_26779635
    eHackyd 2016-09-18 07:57

    文字说明:想做一个八皇后的可视化,然后设了edit control 的int 变量edit_show11,但系统一开始就显示初值为0,我不想显示,所以用了图1的函数,结果报错了,不知怎么解决。。。_

    点赞 评论
  • oyljerry
    oyljerry 2016-09-18 07:58

    GetDlgItem没有获取到对应的控件。
    你送的控件ID正确吗

     例如,IDC_EDIT1 是 控件的ID
    CEdit* pBoxOne;
    pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);
    
    点赞 评论
  • lx624909677
    lx624909677 2016-09-18 07:59

    edit_show11 = 0就可以呀,你用的是通过获的资源ID来设置内容的方发,而你获的的ID是不存在的,自然就崩啦

    点赞 评论
  • qq_26779635
    eHackyd 2016-09-18 08:19

    图片说明
    我把wnocc.cpp Line 241 找出来了

    点赞 评论
  • qq_27587417
    看得到你的人头 2016-09-18 08:37

    你是在类向导里面添加的控件变量还是你自己手动添加的?

    点赞 评论
  • caozhy

    getdlgitem得到的结果是null了,所以没办法调用setwindowtext,检查m_editshow11这个是否正确。这个蚕食应该是控件的id,你确认是这样么。

    点赞 评论
  • wind612
    草船借剑 2016-09-19 05:31

    楼上答的基本都对,GetDlgItem这个函数的参数填写错了,参数应该是**控件的ID**,而不是**控件绑定的变量**。
    你代码中的 m_editshow11 是控件绑定的变量,不是控件的ID ,这是2个完全不同的东西。

    点赞 评论
  • sinat_18304401
    L-Standing 2016-09-20 04:56

    因为你GetDlgItm带的只是一个变量,那当然报错啊,应该带你这个控件的id

    点赞 评论

相关推荐