我是这样做滴
原先有一个网络MFC通信对话框,功能都实现好了滴。后来发现要增加功能,我就填了一个新对话框同时添加TAB控件来做多界面程序,将原先的网络通信对话框作为子对话框。这样实现了多标签页面选择。
但是,高兴滴劲还未来滴及再爽一下,居然发现自己做地网络不能连接了,大虾指点啊!!!呜呜,小鸟急求!!!!!我原先网络程序是好滴,我就是将原先网络程序对话框设置为子对话框,在就修改了程序运行时选择的开始窗口 XXX dlg;
m_pMainWnd = &dlg;请大侠指点啊

解决方案 »

  1.   

    我始终想不出来,想了一晚上了,晕死!还和你说一下,我将这个网络对话框设置为“弹出”就是OK了,设置为child就始终连接不上去!
      

  2.   

    BOOL CClientChatApp::InitInstance()
    {
    AfxEnableControlContainer();// Standard initialization
    // If you are not using these features and wish to reduce the size
    // of your final executable, you should remove from the following
    // the specific initialization routines you do not need.#ifdef _AFXDLL
    Enable3dControls(); // Call this when using MFC in a shared DLL
    #else
    Enable3dControlsStatic(); // Call this when linking to MFC statically
    #endifAfxInitRichEdit();
    m_bConnectState = FALSE;
    WSADATA wsd; //定义WSADATA对象
    WSAStartup(MAKEWORD(2,2),&wsd); //初始化套接字
    //创建套接字
    m_LocalSocket = socket(AF_INET, SOCK_STREAM, 0);
    if (m_LocalSocket == INVALID_SOCKET)
    {
    TRACE("套接字构建失败!\n");
    return FALSE;
    }
    unsigned long nCmd;
    int nState = ioctlsocket(m_LocalSocket, FIONBIO, &nCmd); //设置非阻塞模式
    if (nState != 0) //设置套接字非阻塞模式失败
    {
    TRACE("设置套接字非阻塞模式失败");
    }//aaa dlg;这个为我地TAB控件界面对话框
    CMainChat B; //这个为子界面对话框是关于网络程序的
    m_pMainWnd = &B;//这样是可以网络连接,但是不能显示标签界面,如果将B改为dlg,标签界面是好了,但是网络界面无法用(即不能网络连接)
    ////请问怎么解决这个问题呢????
    int nResponse = B.DoModal();
    if (nResponse == IDOK)
    {
    // TODO: Place code here to handle when the dialog is
    // dismissed with OK
    }
    else if (nResponse == IDCANCEL)
    {
    // TODO: Place code here to handle when the dialog is
    // dismissed with Cancel