dlg1中通过“加入“按钮,弹出dlg2,配置数据按“确定”后,在dlg1中的list  control中加入几行,现在选中其中一行,按“修改”按钮弹出dlg2,如何保证dlg2的数据就是选中那一行的数据,而不是初始化的数据  
现在可以通过GetItemText得到那一行的数据,如何传到dlg2中呢  还有一个问题, radio设置为3个一个group时,我只能让第一个radio灰化,后面两个无法对其操作请大虾帮忙,谢谢!!

解决方案 »

  1.   

    http://blog.csdn.net/lixiaosan/archive/2006/04/11/658248.aspx26, 27
      

  2.   

    在dlg2中设置控件变量 str1,str2....
    在DoModal之前
    dlg2.str1=得到的数据1
    dlg2.str2=得到的数据2
    .....
    第二个问题不太明白你的意思
      

  3.   

    第一个,如果dlg2是有模式的,也就是DoModel的,直接
    dlg2.str1=得到的数据1
    dlg2.str2=得到的数据2
    不过在对话框的类里需要用类向导(Ctrl + W)绑定相应的数据变量(注意不时控制变量)。第二个
    无论你的按钮是否设置了group。都需要控制其中每一个按钮的状态。
    radio1.EnableWindow(TRUE/FALSE);就是做这个的。通过GetDlgItem( IDD );也可以得到相应的控件指针,不过返回值是CWnd* 可以通过强制
    转换来控制其类型。
      

  4.   

    void CMyDlg2::OnModifyButton() 
    {
    // TODO: Add your control notification handler code here
    //start
        //m_MyDlg3.m_pDlg2 = this;
    int nItem;
      POSITION pos = m_ListCtrl2.GetFirstSelectedItemPosition();
          if (pos == NULL)
            TRACE0("No items were selected!\n");
          else
      {
             while (pos)
     {
                nItem = m_ListCtrl2.GetNextSelectedItem(pos);
                TRACE1("Item %d was selected!\n", nItem);
                // you could do your own processing on nItem here
     }
      }
    char temp1[20],temp2[20],temp3[20],temp4[20] ;
    m_ListCtrl2.GetItemText(nItem,0,temp1,20);
    m_ListCtrl2.GetItemText(nItem,1,temp2,20);
        m_ListCtrl2.GetItemText(nItem,2,temp3,20);
        m_ListCtrl2.GetItemText(nItem,3,temp4,20);
        m_MyDlg3.m_CallTypeCombo1.Format ("%s", temp1);
    m_MyDlg3.m_OprFromEdit1 = temp2;
    m_MyDlg3.m_OprToEdit1 = temp3;
        m_MyDlg3.m_CalledNumEdit1 = temp4;   m_MyDlg3.DoModal(); 
    }
    TEMP中的值为什么传不到m_CallTypeCombo1,m_OprFromEdit1 ,m_OprToEdit1 ,m_CalledNumEdit1 中呢?