编辑控件PfxEditCtrl
以一段函数为例:
/////////////////////////////////////////////////////////////////////////////
// 函数:
// LONG TextGetThisMainLine(LONG nLine) const
// 作用:
// 获取当前行所在的主行行号。
// 参数:
// LONG nLine - 当前行行号,它可以是主行也可以是子行。
// 返回:
// 返回当前行以零为基值的主行行号。
// 备注:
/////////////////////////////////////////////////////////////////////////////
LONG CPfxEditDoc::TextGetThisMainLine(LONG nLine) const // const的运用
{
ASSERT(TextIsValidLine(nLine)); // 存在性判断
ASSERT((nLine >= 0) && (nLine // 如果是子行则nActLen是该行到主行的行偏移量,否则是整行的长度。
const CPfxEditLineInfo* pli = TextGetLineAt(nLine); //常量
return (!PFX_EC_IS_SUBLINE(pli) ? nLine : (nLine - pli->nActLen)); //宏函数的运用
}
Tests any memory address to ensure that it is contained entirely within the program's memory space.
ASSERT(AfxIsValidAddress(pBuffer, (nBufMax * sizeof(TCHAR)), true));