目前想做一个跟QQ类似的局域网聊天工具,每个对话框都跟一个侦听线程绑定。
当侦听线程收到信息以后,要在一个非模式对话框中弹出一个模式对话框。
我采用的办法是,首先存储起来那个非模式对话框的指针,然后通过侦听线程调用该指针的一个对象,但是这样写的话,程序就死掉了,不知道为什么,那个模式对话框弹不出来,跟了一下代码,好像是说生成模式对话框的时候,需要让该模式对话框的父窗口disable掉,不过不是很清楚怎么设置该模式对话框的父窗口。
我用的VC6.0作为开发工具。
伪代码如下:
//非模式对话框.cpp
bool CDlgTemp::request( const char* pcText )
{
  CDlgTemp l_dlgTemp;
  if ( IDOK != l_dlgApplyInfo.DoModal())
  {
    return false;
  }
  return true;
}
//线程.cpp
m_pdlg->request( "123" );//m_pdlg是一个CDlgTemp的指针