c++技巧之二(MFC),第1张

c++技巧之二(MFC),第2张

有人发邮件给我,问我如何使用MFC应用程序获取最近打开的文件列表中的完整路径和文件名。只有当当前目录与文件所在的目录不同时,默认行为是显示完整路径。如果太长,路径名将被缩写。

最新文件列表中显示的文件名由函数crecentfilelist::get display name建立。该函数由CRecentFileList::UpdateMenu调用,由cwin app::on-updaterecentfile menu函数调用,cwin app::onupdaterecentfile menu函数调用以响应update命令。

appcore.cpp中的on _ update _ command _ ui(id _ file _ mru _ file 1,onupdaterecentfilemenu)信息映射条目。

void cwin app::onupdaterecentfile menu(CCM dui * PCM dui)

{
ASSERT _ VALID(this);
if(m _ precent filelist = = null)
/noMRU files
/没有MRU文件
PCM dui-> Enable(FALSE);
else

/* *该函数将调用get显示名称。* * *
/* * *此函数将调用get display name * * *
m _ percent file list-> update menu(PCM DUI)
}
解决此问题的一个方法是在调用从InitInstance派生的CWinApp中的LoadStdProfileSettings后删除crecentfilelist * m _ precentfilelist。我们用自己从CRecentFileList派生的类来替换它(清单6)。我们的CRecentFileList将覆盖)GetDisplayName函数。请确保将CRecentFileList派生类的构造函数参数nSize设置为LoadStdProfileSettings的参数nMaxMRU。就这些了。在本月的代码归档文件中,我已经包含了演示示例和如何用MFC对话框应用程序显示最近的文件列表的示例,以及。默认情况下,MFC对话框应用程序不支持最新的文件列表。

-

George Frazier是Cadence Design Systems Inc .系统设计和验证小组的软件工程师,他从1991年开始编写Windows程序。你可以通过他的电子邮件georgefrazier@yahoo.com和他联系。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » c++技巧之二(MFC)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情