articleelement.h
来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C头文件 代码 · 共 84 行
H
84 行
// ArticleElement.h: interface for the CArticleElement class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ARTICLEELEMENT_H__C04F96EE_E338_494E_857E_E3512B055373__INCLUDED_)
#define AFX_ARTICLEELEMENT_H__C04F96EE_E338_494E_857E_E3512B055373__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//文章的一个元素,虚基类,不能直接使用,只能被继承
class DLL_BASEDATA_EXT_CLASS CArticleElement
{
public:
//得到这个元素的长度(当前BBS的格式)
virtual int GetCurBBSFormatTextLength() = 0 ;
//得到这个元素的内容(当前BBS的格式),如果长度超过nMaxCharCount,则进行压缩.如果压缩失败,则返回空串
virtual CString GetTextWithCurBBSFormat(int nMaxCharCount) = 0 ;
//得到这个元素的内容(当前BBS的格式)
virtual CString GetTextWithHtmlLink() = 0 ;
CArticleElement();
virtual ~CArticleElement();
};
//纯文本元素
class DLL_BASEDATA_EXT_CLASS CArticleTextElement
{
public:
virtual int GetCurBBSFormatTextLength();
virtual CString GetTextWithCurBBSFormat(int nMaxCharCount);
virtual CString GetTextWithHtmlLink();
CArticleTextElement();
virtual ~CArticleTextElement();
CArticleTextElement(CString strContent);
private:
CString m_strText ;
};
//链接元素,由文字和Url(网络地址)组成
class DLL_BASEDATA_EXT_CLASS CArticleLinkElement
{
CString m_strText ;
CString m_strUrl ;
public:
virtual int GetCurBBSFormatTextLength();
virtual CString GetTextWithCurBBSFormat(int nMaxCharCount);
virtual CString GetTextWithHtmlLink();
CArticleLinkElement();
virtual ~CArticleLinkElement();
CArticleLinkElement(CString strText,CString strUrl);
CArticleLinkElement(CString strContent);
};
//文章元素的管理类
class DLL_BASEDATA_EXT_CLASS CArticleElements
{
public:
//根据HTML格式,将所有的文章元素连成串
CString MakeTextWithHtmlLink();
//根据当前BBS格式,将所有的文章元素连成串
CString MakeTextWithCurBBSFormat();
//根据当前BBS格式,将所有的文章元素连成串
//nEleMaxCharCount一个元素的最大字符数,nCharAPage一页的最大字符,arTexts(出参)每个字符串对应一页内容
bool MakeTextWithCurBBSFormat(int nEleMaxCharCount,int nCharAPage,CStringArray& arTexts);
void Empty();//释放内存
//增加一个链接类的元素
bool AddLink(CString strText,CString strUrl);
CArticleElements& operator +=(CString strContent);//从字符串中读取文章元素,并将这些元素加到自身中
CArticleElements& operator =(CString strContent);//从字符串中读取文章元素,并用这些元素替换原有的元素
CArticleElements();
~CArticleElements();
private:
CArray<CArticleElement*,CArticleElement*> m_arArticleElements ;//文章元素的集合
};
#endif // !defined(AFX_ARTICLEELEMENT_H__C04F96EE_E338_494E_857E_E3512B055373__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?