t* pContext),代码如下:
BOOL CMainFrcom::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
//将窗口分成1 行2 列
if (!m_wndSplitter1.CreateStatic(this, 1, 2))
return FALSE;
//将其中一列分成2 行1 列
if (!m_wndSplitter2.CreateStatic(&m_wndSplitter1, 2, 1,
WS_CHILD | WS_VISIBLE | WS_BORDER,
m_wndSplitter1.IdFromRowCol(0, 0)))
{
TRACE0("Failed to create nested splitter\n");
return FALSE;
}
//第1 行第1 列作为显示消息的窗口
if(!m_wndSplitter2.CreateView(0,0, RUNTIME_CLASS(CMessageView), CSize(100,100), pContext))
{
m_wndSplitter1.DestroyWindow();
m_wndSplitter2.DestroyWindow();
return FALSE;
}
//第2 行第1 列作为输入消息窗口
if(!m_wndSplitter2.CreateView(1,0, RUNTIME_CLASS(CInputView), CSize(100,100), pContext))
{
m_wndSplitter1.DestroyWindow();
m_wndSplitter2.DestroyWindow();
return FALSE;
}
//第1 行第2 列作为用户列表显示窗口
if(!m_wndSplitter1.CreateView(0, 1, RUNTIME_CLASS(CChattersView), CSize(100, 100), pContext))
{
m_wndSplitter1.DestroyWindow();
return FALSE;
}
m_wndSplitter1.SetColumnInfo(0, 450,50);
m_wndSplitter2.SetRowInfo(0, 250, 50);
return TRUE;
}
枫叶文学网www.fywxw.com
第11 章 网络编程
·313·
至此,界面编写完毕。
3.创建CChatSocket 类
新建一个CChatSocket 类,用于客户端和服务器进行数据传输,其基类是CSocket。在类
的定义中声明宏DECLARE_DYNAMIC(CChatSocket) , 在类的实现