我先建了一个对话框,里面有一个COMBO控件,我再为它建了一个类.CRecordEdit
我在视中调用它
CRecordSet mydlg;
mydlg.m_Combo.AddString("line1");
mydlg.m_Combo.AddString("line2");
mydlg.m_Combo.AddString("line3");
mydlg.m_Combo.AddString("line4");
mydlg.DoModal();可是它出错了请问可以这样动态加载吗?
如果不行的话应该如何实现?
我想实现的是双击某条记录后跳出这个对话框,同时这个COMBO控件中会有内容.

解决方案 »

  1.   

    你的m_Combo 是定义成控件变量了吗,不能是值变量
    如果是控件变量,可能有其他错误(跟combo无关)
      

  2.   

    的确是控件变量否则不会出现AddString函数的
      

  3.   

    sorry,上面解释有误要实现你的功能,可以在combo控件的CBN_DROPDOWN消息中实现
    void CMyDlg::OnDropdownCombo1() 
    {
      
       if(....)
       {
           m_ctlCombo.ResetContent();
           m_ctlCombo.AddString("XXX");
           m_ctlCombo.AddString("XXXXX");
        }
    }
      

  4.   

    从该对话框的InitDialog方法里调用组合框的AddString方法
      

  5.   

    //CMyDlg;
    CDialog::DoModal
      CMyDlg::OnInitDialog
      ........其他初始化
      CDialog::OnInitDialog
      CWnd::UpdataData(FALSE);
      CMyDlg::DoDataExchange
      .............  .............---------------------------------------------------
        ::简单的说就是怎么把父对话框里的变量传给子对话框里的某个控件啊?    //CMyDlg.h
        public:
             CStringArray m_strArray;
            //CMyDlg.cpp----OnInitDialog
        for (int i=0; i<m_strArray.GetSize(); i++)
           m_Combo.AddString(m_strArray[i]);
        //Using CMyDlg;
        CMyDlg dlg;
        dlg.m_strArray.Add("1");
        dlg.m_strArray.Add("2");
        ................
        dlg.DoModal();