解决方案 »

  1.   

    要我做,我是不会用这么粗的逻辑的
    要我做,我会这么做
    void CChouqianmfcDlg::OnAddColBtn()
    {
            CAddInfoDlg  mdlg;
            mdlg.DoModal();
    }
    如果要用非模态,我会把
     CAddInfoDlg  *mdlg;
    设置成CChouqianmfcDlg的变量,然后在构造函数里mdlg=NULL;
    再然后
    void CChouqianmfcDlg::OnAddColBtn()
    {
             if(!mdlg)
             {
                     mdlg=new CAddInfoDlg;
                     mdlg->Create(IDD_ADDINFO_DLG);
                     mdlg->SetParent(this);
             }
             mdlg->ShowWindow(TRUE);
    }然后,我会相应CAddInfoDlg类的OnOK函数
    void  CAddInfoDlg::OnOK()
    {
              UpDateData(TRUE);
              PostMessage(GetParent()->m_hWnd,12345,(WPARAM)&m_data,0);
              如果非模态那么就隐藏窗口ShowWindow(FALSE);
              如果是模态就直接CDialog::OnOK();
    }然后,我会在CChouqianmfcDlg类里弄个消息函数来实现插入功能
    void  CChouqianmfcDlg::OnInsert(WPARAM wp,LPARAM lp);
    {
              CString *ss=(CString *)wp;
             m_List.InsertColnum(colnumm,*ss,LVCFMT_LEFT,150,0);
             colnum++;
    }
      

  2.   

    不好意思,刚刚代码是截图的,我把代码重新贴一下void CChouqianmfcDlg::OnAddcolBtn() 
    {
    // TODO: Add your control notification handler code here
    CString tempcol;
    CAddinfoDlg *m_dlg;
    m_dlg=NULL;
    if (!m_dlg) 
    {
    m_dlg = new CAddinfoDlg;
    m_dlg->Create(IDD_ADDINFO_DLG);
    m_dlg->GetDlgItem(IDC_EDIT1)->SetWindowText("请输入新的列名");
    m_dlg->SetWindowText("添加新列");
    m_dlg->ShowWindow(SW_SHOW);
    //请输入:宽度#内容
    if(m_dlg->OnOK){
    m_dlg->UpdateData(true);
    tempcol=m_dlg->m_data;
    m_list.InsertColumn(colnum,tempcol,LVCFMT_LEFT,150,0);
    colnum++;}
    }
    else
    m_dlg->SetActiveWindow();//激活窗口
    }
      

  3.   

    m_dlg = new CAddinfoDlg;
            m_dlg->Create(IDD_ADDINFO_DLG);
            m_dlg->GetDlgItem(IDC_EDIT1)->SetWindowText("请输入新的列名");
            m_dlg->SetWindowText("添加新列");
            m_dlg->ShowWindow(SW_SHOW);
    //请输入:宽度#内容
            if(m_dlg->OnOK){因为你这是模态对话框, 一运行起来, 对话框是显示了, 但是程序执行到 if(m_dlg->OnOK){的时候, 你肯定是什么都还没有输入.
    结果就是没有结果.你应该使用模态对话框. 如4楼