void CExes6aView::OnLButtonDown(UINT nFlags, CPoint point)  

CEx06aDialog dlg; 
dlg.m_strName="ceshi"; 
dlg.m_iSSn=34343; 
dlg.m_bDis=FALSE; 
dlg.m_strBio="dsfsfsfsfsf"; 
dlg.m_bMed=TRUE; 
dlg.m_bLife=TRUE; 
int ret=dlg.DoModal(); 
}
本来是应该单机的时候就弹出个对话框的 现在出现不了 
我完全照书上说的写的代码 仔细跟光盘里的源码对比了下也没发现不一样的地方啊 编译运行都没问题 就是单击出现不了对话框 郁闷 
本来应该运行到dlg.DoModal()就应该弹出对话框的 
可是我每次运行到这没有一点反映 ret的值好象是-1 

解决方案 »

  1.   

    单步调试,在该对话框的OnInitDialog下断点
      

  2.   

    要怎么关联法 
    我已经在CExes6aView的CPP文件里加上了#include "Ex06aDialog.h"
      

  3.   

    刚试了下在对话框的OnInitDialog下断点
      没有运行到这里去 
      

  4.   

      我觉得是你的Ex06aDialog里面出现了问题
      把逻辑再理一遍
      
      Good luck!
      

  5.   

    我刚跟踪了下 CDialog的AfxDlgProc消息处理函数没有收到WM_INITDIALOG这个消息
    可是我在Ex06aDialog类里已经映射了啊
     BOOL CALLBACK AfxDlgProc(HWND hWnd, UINT message, WPARAM, LPARAM)
    {
    if (message == WM_INITDIALOG)
    {
    // special case for WM_INITDIALOG
    CDialog* pDlg = DYNAMIC_DOWNCAST(CDialog, CWnd::FromHandlePermanent(hWnd));
    if (pDlg != NULL)
    return pDlg->OnInitDialog();
    else
    return 1;
    }
    return 0;
    }
      

  6.   

    代码上看不出问题,是不是Ex06aDialog这个类没有和对话框模板关联在一起
      

  7.   

    Ex06aDialog是用类向导继承Dialog生成的
      

  8.   

    CEx06aDialog dlg; 写在函数体外面
      

  9.   

    要么没有关联资源
    要么cpp文件的消息隐射宏没有
      

  10.   

    CDialog::DoModal:The return value is –1 if the function cannot create the dialog box
      

  11.   

    在CEx06aDialog 里保证变量m_strName等有初时化。
    CEx06aDialog ::CEx06aDialog (CWnd* pParent /*=NULL*/)
    : CDialog(CEx06aDialog ::IDD, pParent)
    {
    //{{AFX_DATA_INIT(CEx06aDialog )
    //}}AFX_DATA_INIT
    m_strName = _T("");
           ....
    }
      

  12.   

    除了1楼所说。我觉得还有一种可能:
    你的对话框里有些特别的控件,如richedit.