DlgChooseCurve dlg; for(int i=0;i<curveName.size();i++)
dlg.m_combo.AddString(curveName[i]); dlg.UpdateData(false); ///这样是报错,不能显示;请问有什么办法把数据传进去并更新对话框的相应控件 if(dlg.DoModal()==IDOK)
{
}

解决方案 »

  1.   

    dlg.UpdateData(false); 这句去掉,dlg.DoModal()会更新数据的.
      

  2.   

    DlgChooseCurve dlg; //for(int i=0;i<curveName.size();i++)
    dlg.m_combo.AddString("1111");  ///请看这边,这样的话也是报错....何解 //dlg.UpdateData(false);  if(dlg.DoModal()==IDOK)
    {
    }
      

  3.   

    去掉
    dlg.UpdateData(false); 
      

  4.   

    把curveName储存在对话框类中,在对话框类的OnInitDialog里面AddString。
      

  5.   

    BOOL DlgChooseCurve::OnInitDialog() //重写OnInitDialog
    {
    CDialog::OnInitDialog();
    for(int i=0;i<vec.size();i++)
    this->m_combo.AddString(vec[i]);
    return TRUE;
    }没有人说得完整,不过我还是给分.找个时间会查清楚为什么要等到CDialog::OnInitDialog();后才能加数据
      

  6.   

    CDialog::OnInitDialog(); 这句没执行,你的控件就没有DDX,那还怎么搞啊