文档处理应用程序详解
在文档处理应用程序中,涉及诸多关键的功能和类,下面将详细介绍这些内容。
1. 页面区域处理
在处理文档时,对于每一行,我们需要考虑其高度以及第一个和最后一个字符的位置,以此来确定需要重绘的区域。以下是相关代码:
int iHeight = line.GetHeight();
CRect rcFirstChar = m_rectArray[iFirstChar];
CRect rcLeftBlock(0, iTotalHeight, rcFirstChar.left,
iTotalHeight + iHeight);
if (!rcLeftBlock.IsRectEmpty())
{
pRepaintSet->Add(rcLeftBlock + szUpperLeft);
}
int iLastChar = line.GetLastChar();
CRect rcLastChar = m_rectArray[iLastChar];
CRect rcRightBlock(rcLastChar.right, iTotalHeight,
PAGE_WIDTH, iTotalHeight + iHeight);
if (!rcRightBlock.IsRectEmpty())
{
pRepaintSet->Add(rcRightBlock + szUpperLeft);
}
iTotalHeight += iHeight;
如果段落为空,我们会创建并添加一个包含整个段落的区域,即使
文档处理应用程序功能与优化详解
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



