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