CMapStringToPtr m_map;//在H文件中CMessageDialog * LookMessage1;
if(!m_map.Lookup(str1,(void*&)LookMessage1))
{
CMessageDialog *Message=new CMessageDialog;
Message->Create(IDD_MESSAGEDIALOG,this);     这里得到的Message为0x0000000,这是怎么回事呀? 在这里出错
Message->GetDlgItem(IDC_USERNICKSTATIC)->SetWindowText(str1);
Message->GetDlgItem(IDC_USERIDSTATIC)->SetWindowText(FriendID);
Message->ShowWindow(SW_SHOW);
m_map[str1]=Message;
}
else
{
LookMessage1->ShowWindow(SW_SHOW);
LookMessage1->SetActiveWindow();
}

解决方案 »

  1.   

    1,new失败了.
    2,create之前还没有句柄
      

  2.   

    CMessageDialog的构造函数?
    new failed.
      

  3.   

    那请问he_zhidan一下该怎么new呢?那该怎么样才能会有句柄呀?
    我还是不明白,我在这里只是要显示对话框,之前的结果是正确的。
      

  4.   

    CMessageDialog::CMessageDialog(CWnd* pParent /*=NULL*/)
    : CDialog(CMessageDialog::IDD, pParent)
    {
    //{{AFX_DATA_INIT(CMessageDialog)
    m_SendEdit = _T("");
    //}}AFX_DATA_INIT
     bMessageType=TRUE;
    m_bClose=FALSE;
    }
    这是它的构造函数,不知道该怎么做?请指教!
      

  5.   

    你把这部分代码单独用一个工程分离出来测试看看:
    CMessageDialog *Message=new CMessageDialog;
    Message->Create(IDD_MESSAGEDIALOG,this);
    Message->ShowWindow(SW_SHOW);
    如果不行, 再用单步跟踪到CMessageDialog构造函数中看是哪里构造错了?
      

  6.   

    CMessageDialog *Message;  这个改成类成员变量试试Message = new CMessageDialog(this);
    Message->Create(IDD_MESSAGEDIALOG, this);
    Message->ShowWindow(SW_SHOW);
      

  7.   

    我试了天影的方法,新建一个工程,把代码添加进去,可以Show出一个窗口来,到底是什么原因呢?各位帮帮忙呀?太急人了!
      

  8.   

    CMessageDialog::CMessageDialog(CWnd* pParent /*=NULL*/)
    : CDialog(CMessageDialog::IDD, pParent)
    构造函数没有IDD参数,而调用时用了,因此它实际调用的是父类的构造函数,没有调用自已的,可能会有点问题,再查查看,建议试试Message->Create(this);另外也要查一下上步的new 操作是不是得到null。
      

  9.   

    要不你可以这样试一下, 新建一个对话框,然后用新建立的对话框ID试试。
            Message->Create(新建的对话框ID, this);
      

  10.   

    new出来时不为0x00000000000但调试时发现m_hWnd为0X0000000000,到底是什么原因呀?
      

  11.   

    你的对话框中加了什么控件?
    有没有richedit2.0或者自定义的一些控件?
      

  12.   

    还有,你的问题里的this指针是不是一个窗口阿?
      

  13.   

    我的对话框中是有一个richedit,难道和这个会有关系吗?this指针是一个窗口呀,请云流兄给点希望吧,这个问题还没找到答案呀
      

  14.   

    问题找到了,我把richedit控件的初始化放在***App中就好了!