, cx , cy , FALSE);
}
最后,为该类添加一函数void ShowMessage(LPCTSTR lpszMessage),此函数用于消息的
显示,其参数为消息内容。代码如下:
void CChatView::ShowMessage(LPCTSTR lpszMessage)
{
CString strTemp = lpszMessage;
strTemp += _T("\r\n");
int len = m_EditBox.GetWindowTextLength();
m_EditBox.SetSel(len,len);
m_EditBox.ReplaceSel(strTemp);
}
至此,负责显示客户端信息以及聊天信息的两个窗口都已编写完毕,接下来要在主框架
中进行分割,也就是将主框架分割成显示客户端信息的窗口和显示聊天信息的窗口两部分。
(5)分割框架
为类CMainFrcom 添加成员变量CSplitterWnd m_wndSplitter,用于分割主框架。重载函
数virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext),该函数
在主框架生成期间被调用,在此函数中添加分割窗口的cāo作,代码如下:
BOOL CMainFrcom::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·296·
//将窗口分为两行一列
if (!m_wndSplitter.CreateStatic(this, 2, 1))
return FALSE;
//指定每个窗口的位置及初始大小
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CChattersListView), CSize(150, 100),
pContext) ||
!m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CChatView), CSize(300, 300), pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
return TRUE;
}
在此函数中用到了类CChatView 和CChattersListView,因此在文件“MainFrm.cpp”的
开头要加入下面两个语句:
#include "ChatView.h"
#include "ChattersListView.h"
现在编译、运行程序,可以看到主框架已经被分割成两个窗口,如图11-8 所示。
图11