msg.cpp

来自「一个简易的聊天室程序」· C++ 代码 · 共 127 行

CPP
127
字号


#include "stdafx.h"
#include "msg.h"

#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMsg

IMPLEMENT_DYNCREATE(CMsg, CObject)

/////////////////////////////////////////////////////////////////////////////
// CMsg construction/destruction

CMsg::CMsg()
{
	Init();
}

CMsg::~CMsg()
{
}

/////////////////////////////////////////////////////////////////////////////
// CMsg Operations

void CMsg::Init()
{
	m_hSocket = 0;

	code = 0;
	m_bClose = FALSE;
	m_strText = _T("");
	m_msgList.RemoveAll();
	m_chattersList.RemoveAll();

	m_chattersListPtr.RemoveAll();

	m_dwMask = 0;
	m_dwEffects = 0;
	m_yHeight = 0;
	m_yOffset = 0;
	m_crTextColor = 0;
	m_bCharSet = 0;
	m_bPitchAndFamily = 0;
	m_szFaceName = "";

}

/////////////////////////////////////////////////////////////////////////////
// CMsg serialization

void CMsg::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		ar << (WORD)m_bClose;
		ar << m_strText;
		ar << code;

		ar <<   m_hSocket;

		ar <<	m_dwMask;
		ar <<	m_dwEffects;
		ar <<	m_yHeight;
		ar <<	m_yOffset;
		ar <<	m_crTextColor;
		ar <<	m_bCharSet;
		ar <<	m_bPitchAndFamily;
		ar <<	m_szFaceName;
	
	}
	else
	{
		WORD wd;
		ar >> wd;
		m_bClose = (BOOL)wd;
		ar >> m_strText;
		code = (UINT)wd;
		ar >> code;

		m_hSocket = (SOCKET)wd;
		ar >> m_hSocket;

		m_dwMask = (DWORD)wd;
		ar >>	m_dwMask;
		m_dwEffects = (DWORD)wd;
		ar >>	m_dwEffects;
		m_yHeight = (LONG)wd;
		ar >>	m_yHeight;
		m_yOffset = (LONG)wd;
		ar >>	m_yOffset;
		m_crTextColor = (COLORREF)wd;
		ar >>	m_crTextColor;
		m_bCharSet = (BYTE)wd;
		ar >>	m_bCharSet;
		m_bPitchAndFamily = (BYTE)wd;
		ar >>	m_bPitchAndFamily;
		ar >>	m_szFaceName;
	
	}
	m_msgList.Serialize(ar);
	m_chattersList.Serialize(ar);

	m_chattersListPtr.Serialize(ar);
}

/////////////////////////////////////////////////////////////////////////////
// CMsg diagnostics

#ifdef _DEBUG
void CMsg::AssertValid() const
{
	CObject::AssertValid();
}

void CMsg::Dump(CDumpContext& dc) const
{
	CObject::Dump(dc);
}
#endif //_DEBUG

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?