在主窗口中我把checkbox的style设为push like,按下后跳出一个子窗口,如果按了子窗口的OnOk,则checkbox状态不变仍为选中而且enable为false,如果按了子窗口的OnCancel,我希望checkbox状态为不选中。
因为是新手,对vc中的消息传递不熟,希望各位老师们多多指点!

解决方案 »

  1.   

    你的子窗口是对话框把,这样做:CXXDlg dlg; // 你的子窗口对话框
    INT_PTR rt;
    rt = dlg.DoModel(); // 激活对话框
    if(rt==IDOK) {// 按下 ok 按钮以后返回
    ....
    }
    else if(rt==IDCANCEL) { // 按下 cancel 以后返回
    ....
    }
      

  2.   

    可是这样checkbox状态还是没有改变吧?因为手头没有vc,不能试,我是这样想的。
      

  3.   

    这是一个给CFatherDlg中的控件赋值的例子:
    ((CFatherDlg*)(CDialog*)GetParent())->SetDlgItemInt(IDC_EDIT_VALUE,m_nValue);
      

  4.   

    先把你的控件建立一个控件实例(比如是m_ctlCheck1),然后在楼上的那个兄弟中的函数中调用, m_ctlCheck1.SetCheck(1);在cancle的rt中调用m_ctlCheck1.SetCheck(0);