在工程中加入对话框Import。类名:CEIWinImport在对话框Import中加入Combo Box 控件,要去读Combo Box 控件的内容是程序Core掉。初始化空间:
BOOL CEIWinImport::OnInitDialog()
{
CDialog::OnInitDialog();
((CComboBox*)GetDlgItem(IDC_COMBO_DELIMITER))->AddString(L"NONE");
((CComboBox*)GetDlgItem(IDC_COMBO_DELIMITER))->AddString(L"TAB");
((CComboBox*)GetDlgItem(IDC_COMBO_DELIMITER))->AddString(L",");
((CComboBox*)GetDlgItem(IDC_COMBO_DELIMITER))->AddString(L":");
((CComboBox*)GetDlgItem(IDC_COMBO_DELIMITER))->AddString(L";"); ((CComboBox*)GetDlgItem(IDC_COMBO_DELIMITER))->SetCurSel(0);
return TRUE;
}
读取的方法如下:const CString  CEIWinImport::getExportComboVal()
{
//CDialog::OnInitDialog();
CString delimiter;
//m_ImportCombo.GetWindowText(delimiter);
((CComboBox*)GetDlgItem(IDC_COMBO_DELIMITER))->GetWindowText(delimiter);//在此处为空指针。发生错误?
if(delimiter == "NONE")
{
delimiter = " ";
}
else if(delimiter == "TAB")
{
delimiter = '\t';
}
return delimiter;
}
请高手指明其中的原因,怎样进行修改?谢谢!!

解决方案 »

  1.   

    getExportComboVal是在什么时候使用的?
      

  2.   

    本帖最后由 laiyiling 于 2008-04-24 19:58:17 编辑
      

  3.   

    我是在下面调用 getExportComboVal(); CEIWinExport ExportDlg;
    if(ExportDlg.DoModal() == IDOK)
            {
         const CString & filePath = ExportDlg.getPath();
         /// do export operation.
                 ExportDlg.getExportComboVal(); ////这里调用
            } 
    是不是在 ExportDlg.DoModal() == IDOK 后控件结束掉了?
      

  4.   

    在CEIWinExport 的OnOK()中把值取出来存好
    DoModal后窗口已经被销毁了
      

  5.   

    是不是在 ExportDlg.DoModal() == IDOK 后控件结束掉了?是的。