CRecentFileList

CRecentFileList 是 一 个 CObject 类 , 它 支 持 对 最 近 使 用 过 ( M R U ) 的 文 件 列 表

或 一 个 .INI 文 件 中 读 出 或 写 入 , 显 示 MRU 文 件 列 表 的 菜 单 可 以 被 更 新 。

#include <afxadv.h>

CRecentF ileList 类 成 员

COnstruction

CRecentFileList 构 造 一 个 CrecentFileList 对 象

Attributes

GetSize 获 取 M R U 文 件 列 表 中 的 文 件 数 目

Operations

Remove 从 MRU 文 件 列 表 中 移 走 一 个 文 件

Add 向 MRU 文 件 列 表 中 添 加 一 个 文 件 GetDisplayName 为 一 个 MRU 文 件 名 的 菜 单 显 示 提 供 一 个 显 示 名 称UpdateMenu 更 新 MRU 文 件 列 表 的 菜 单 显 示

ReadList 从 注 册 表 或 .INI 文 件 中 读 出 M R U 文 件 列 表

W riteList 将 MRU 文 件 列 表 写 入 注 册 表 或 .INI 文 件

Operators

Operator [ ] 在 一 个 给 定 位 置 返 回 一 个 CString 对 象

成 员 函 数

CRecentFileList::Add

virtual void Add( LPCTSTR lpszPathName );

参 数

lpszPathName

要 添 加 到 列 表 中 的 路 径 名 。

说 明

此 成 员 函 数 用 来 将 路 径 在 lpszPathName 给 定 的 文 件 添 加 到 最 近 使 用 过 ( MRU ) 文 件 列 表 中 。 此 文 件 名 将 被 添 加 到 MRU 列 表 的 最 顶 端 。 如 果 此 文 件 名 在 MRU 列 表 中 已 经 存 在 , 则 它 将 会 被 移 动 到 顶 端 。

请 参 阅 CRecentFileList::Remove , CRece n tFileList::UpdateMenu

CRece n tFileList::CRecentFileList

CRece n tFileList( UINT nStart , LPCTSTR lpszSection , LPCTSTR lpszEntryForma t, int nSize , int nMaxDispLen = AFX_ABBREV_FILENAME_LEN );

参 数

nStart

在 MRU ( 最 近 使 用 过 的 ) 文 件 列 表 的 菜 单 显 示 中 的 数 字 偏 移 。

lpszSection

指 向 注 册 表 或 应 用 程 序 的 .INI 文 件 中 用 于 MRU 文 件 列 表 读 出 或 写 入 部 分的 名 字 。

lpszEntryFormat

指 向 一 个 格 式 字 符 串 , 此 格 式 字 符 串 用 来 作 为 保 存 在 注 册 表 或 应 用 程 序

的 .INI 文 件 中 的 项 的 名 字 。

nSize

MRU 文 件 列 表 中 的 最 大 文 件 数 目 。

nMaxDispLen

可 用 于 M R U 文 件 列 表 中 的 文 件 名 的 菜 单 显 示 的 按 字 符 计 算 的 最 大 长 度 。

说 明

此 成 员 函 数 用 来 构 造 一 个 CRecentFileList 对 象 。

lpszEntryFormat 指 向 的 格 式 字 符 串 应 该 包 含 “ % d ” , 这 将 被 用 来 代 替 每 一个 MRU 项 的 索 引 。 例 如 , 如 果 此 格 式 字 符 串 是 “ file% d” , 则 这 些 项 将 被 命名 为 file0 , file1 等 。

CRecentFileList::GetDisplayName

BOOL GetDisplayName( CString& strName , int nIndex , LPCTSTR lpszCurDir , int nCurDir , BOOL bAtLeastName = TRUE ) conse;

返 回 值

如 果 在 MRU ( 最 近 使 用 过 的 ) 文 件 列 表 中 的 值 的 索 引 处 没 有 文 件 名 , 则 返 回

FALSE 。

参 数

strName

文 件 的 全 路 径 , 该 文 件 的 名 字 将 要 被 显 示 在 MRU 文 件 的 菜 单 列 表 中 。

nIndex

在 MRU 文 件 列 表 中 的 文 件 的 从 零 开 始 的 索 引 。

lpszCurDir

包 含 当 前 目 录 的 字 符 串 。

bAtLeastName

如 果 是 非 零 值 , 则 表 明 应 该 返 回 文 件 的 低 级 名 字 , 即 使 是 这 个 名 字 超 过了 最 大 的 显 示 长 度 ( 作 为 nMaxDispLen 参 数 传 递 给 Crecen tFileList 构 造函 数 ) 。

说 明

此 成 员 函 数 用 来 获 取 MRU 文 件 列 表 中 的 一 个 文 件 的 显 示 名 。 如 果 该 文 件 在 当前 目 录 下 , 则 函 数 不 显 示 该 目 录 。 如 果 文 件 名 太 长 了 , 则 不 显 示 目 录 和 扩 展 名 。

如 果 这 样 的 文 件 名 仍 然 太 长 , 则 除 非 bAtLeastName 是 非 零 值 , 否 则 将 显 示 名置 为 一 个 空 字 符 串 。

请 参 阅 CRecentFileList::ReadList, CRece n tFileList:: W riteList

CRece n tFileList::GetSize

int GetSize() const;

返 回 值

在 当 前 MRU ( 最 近 使 用 的 ) 文 件 列 表 中 的 文 件 数 目 。

请 参 阅 CRecentFileList::Add , CRecentFileList::Remove

CRecen t FileList::ReadList

virtual void ReadList();

此 函 数 用 来 从 注 册 表 或 应 用 程 序 的 .INI 文 件 中 读 取 最 近 使 用 过 的 ( MRU ) 文 件列 表 。

请 参 阅 CRecentFileList::WriteList

CRecen t FileList::Remove virtual void Remove( int nIndex ); 参 数

nIndex

要 被 从 M R U ( 最 近 使 用 过 的 ) 文 件 列 表 中 移 走 的 文 件 的 从 零 开 始 的 索 引 。

此 函 数 用 来 从 MRU 文 件 列 表 中 移 走 一 个 文 件 。

请 参 阅 CRecentFileList::Add , CRecentFileList::UpdateMent

CRecentFileList::UpdateMenu

virtual void UpdateMenu( CCmdUI* pCmdUI );

参 数

pCmdUI

一 个 指 向 MRU ( 最 近 使 用 过 的 ) 文 件 列 表 菜 单 的 指 针 , 该 菜 单 是 一 个

CCmdUI 对 象 。

此 函 数 用 来 更 新 MRU 文 件 列 表 的 菜 单 显 示 。

请 参 阅 CRecentFileList::Add , CRecentFileList::Remove

CRecentFileList:: W riteList

virtual void WriteList();

说 明

此 函 数 用 来 将 最 近 使 用 过 的 ( MRU ) 文 件 列 表 写 入 注 册 表 或 应 用 程 序 的 .INI 文件 。

请 参 阅 CRecentFileList::ReadList

操 作 符CRecentFileList::operator[] CString& operator[]( int nIndex ); 参 数

nIndex

在 一 个 CString 集 合 中 的 一 个 CString s 的 从 零 开 始 的 索 引 。

说 明

此 重 载 的 下 标 ( []) 操 作 符 返 回 一 个 由 nIndex 中 的 从 零 开 始 的 索 引 指 定 的 单 一的 CString 。