看书说添加复选框后,设置复选框被选中,且不可操作。可以使用
((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(1);
((CButton *)GetDlgItem(IDC_CHECK1))->EnableWindow(false);
还有就是可以使用classwizard添加变量,比如添加一个m_math,书上写了m_math.EnableWindow(false);m_math.SetCheck(1);可是我像这样写提示出错,大家讲解一下啊,还有((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(1)中为什么这样写:((CButton *)GetDlgItem(IDC_CHECK1))
在线等着啊

解决方案 »

  1.   

    比如添加一个m_math,书上写了m_math.EnableWindow(false);m_math.SetCheck(1);可是我像这样写提示出错,大家讲解一下啊
    =============
    你连个出错信息都不贴,怎么讲解啊还有((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(1)中为什么这样写:((CButton *)GetDlgItem(IDC_CHECK1))
    ===========
    GetDlgItem返回值是CWnd *指针,因为你所取的是CButton *指针,所以必须要强制类型转化成CButton *
      

  2.   

    提示left of '.SetCheck' must have class/struct/union type
    不知道怎么改.....
      

  3.   

    你首先要明白用classwizard添加变量,变量有两种类型,一种是数据型变量,比如为EDIT关联变量,很可能关联的是CString型的变量。另一个是控件型变量,比如对EDIT关联控件型变量的话,就是CEdit型,按你的写法,你应该要关联一个控件型的变量。先检查一下你关联的对不对。
      

  4.   

    我关联的就是那个复选框的:IDC_CHECK1 类型是BOOL,不知道这样对不对,我搜了一下,网上就写一句m_math=true,的确可以选中,可是这个不允许操作还有没有其他写法呢
      

  5.   

    我关联的就是那个复选框的:IDC_CHECK1 类型是BOOL,不知道这样对不对,我搜了一下,网上就写一句m_math=true,的确可以选中,可是这个不允许操作还有没有其他写法呢
    ================
    BOOL型的当然不能用m_math.SetCheck(1);这样的代码了,换成另一种控件型的变量类型 
      

  6.   

    你的CButton m_math;对象应该没有关联控件吧,m_math.EnableWindow(false);在这个语句之前,可以调用m_math.SubclassDlgItem(IDC_CHECK1, this);之后就可以用了
      

  7.   

    你的m_math关联的是BOOL变量,你还可以关联CButton控件变量
      

  8.   

    我那个是在classwizard里面加的,要是关联控件,是不是只能写语句m_math.SubclassDlgItem(IDC_CHECK1, this)实现,在classwizard中只有BOOL一种类型的。
      

  9.   

    哦,终于知道了,上面有value和control类型,选control可以了,谢谢大家,哎,什么时候才不会这么菜啊
      

  10.   

    上面那只兔子的办法不合适你,他以为你关联的是CButton型变量,现在你的问题是你关联的不是CButton变量,所以m_math.SubclassDlgItem根本就没用。
    classwizard可以关联两种不同类型的变量的,你认真找找
      

  11.   

    你仔细看一下,找一个 Category下拉列表框:该下拉列表框用于指定新变量是一个“Value”类型的成员变量还是一个“Control”类型的成员变量。默认是Value类型的,你应该选Control类型的。