字体
第(3/5)页
关灯
   存书签 书架管理 返回目录
载的串行化函数的代码如下:

    void CMsg::Serialize(CArchive& ar)

    {

    //读入

    if (ar.IsStoring())

    {

    ar << (WORD)m_bClose;

    ar << m_strText;

    ar << code;

    }

    //输出

    else

    {

    WORD wd;

    ar >> wd;

    m_bClose = (BOOL)wd;

    ar >> m_strText;

    枫叶文学网www.fywxw.com

    第11 章 网络编程

    ·291·

    ar >> (UINT)code;

    }

    }

    (3)编写客户端信息界面

    封装好消息类后,接下来要对界面编写代码。在上小节的设计中已经说明,服务器端应

    有两个窗口,一个用来显示各客户端的信息,另一个用来显示聊天信息。

    首先编写显示各客户端信息的界面。与创建消息类的步骤一样,为工程新建一个类,取

    名为CChattersListView,在“Class type”下拉列表中选择“MFC Class”项,在“Base class”

    下拉列表中选择“ClistView”作为其父类,设置完成后单击“OK”按钮即可,如图11-6 所

    示。

    图11-6 新建类CChattersListView

    然后为该类添加成员变量int m_Row,它记录列表视图的当前行的位置,在类的构造函

    数中将其初始化为0。

    接下来添加各成员函数并为其编写代码。首先重载函数virtual BOOL

    PreCreateWindow(CREATESTRUCT& cs),通过此函数可以设定窗口风格。代码如下:

    BOOL CChattersListView::PreCreateWindow(CREATESTRUCT& cs)

    {

    //设定风格为详细报表显示

    cs.style |= LVS_REPORT;

    return CListView::PreCreateWindow(cs);

    }

    接着在窗口创建时进行初始化。打开“ClassWizard”对话框,在“Class ncom”下拉列

    表中选择CChattersListView,在“Message”列表中选择WM_CREATE(如图11-7 所示)。

    然后依次单击“Add Function”按钮和“Edit Code”按钮,定位到OnCreate()函数,添加如下

    代码:

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·292·

    图11-7 为WM_CREATE 消息添加响应函数

    int CChattersListView::OnCreate(LPCREATESTRUCT lpCreateStruct)

    {

    if (CListView::OnC
上一页 目录 下一页