• MFC函数—CWinApp::LoadStdProfileSettings


    从 InitInstance 成员函数内调用该函数,启用和加载最近使用的(MRU)文件和最后浏览状态的列表。

    void LoadStdProfileSettings(
       UINT nMaxMRU = _AFX_MRU_COUNT
    );


    参数
    nMaxMRU:要跟踪的最近使用的文件个数。如果 nMaxMRU 为0,MRU 列表不维护。

    头文件

    头文件位置:afxwin.h


    方法

    如果你在新建工程的时候没有选择包含最近文件列表功能,那么可以按照如下的方法为你的工程加入它:
    1.在你的“文件”菜单中添加一个名称为“最近文件”的菜单项,其 ID 为 ID_FILE_MRU_FILE1。 
    2.在你的工程的 App 类的 InitInstance 方法中将 
            LoadStdProfileSettings(0); 
    改成: 
            LoadStdProfileSettings(); 
    即可。这样,你的工程就有了最近文件列表功能。

    事实上,以这种方法生成的最近文件列表项是保存在注册表中 HKEY_CURRENT_USERSofrwareLoacl Appwizard-Generated Applications 下以你的工程名为主键的 Recent File List  主键中 File? 格式的字符串值中。LoadStdProfileSettings 的参数值决定了保存在这里的最近文件的数目,其默认值(没有参数时)为 4。 Loacl Appwizard-Generated Applications 主键是Visual C++ 默认的,在工程的 App 类的 InitInstance 方法中由 SetRegistryKey() 函数创建的,你可以将其改成你需要的名 
    称,例如: 
      SetRegistryKey(_T("skyice software")); 
    那么,如何处理从菜单中选择的最近文件列表中的文件呢?由于在菜单中只有 ID_FILE_MRU_FILE1  这一个菜单项,其余的菜单项都是由 LoadStdProfileSettings();  动态的加上的,因此,用一般的方法难以实现对菜单项的响应。此时,可以采用如下的方法: 
      1.在 CMainFrame 类中加入对菜单项 ID_FILE_MRU_FILE1的响应。 
      2.在 MainFrm.cpp 中将
               ON_COMMAND(ID_FILE_MRU_FILE1,OnFileMruFile1)

               改成
               ON_COMMAND_RANGE(ID_FILE_MRU_FILE1,ID_FILE_MRU_FILE4,  OnFileMruFile1) 
    即可。 
    以后,所有对最近文件列表中文件的选择都由 CMainFrame  方法 OnFileMruFile1 响应,你可以在此函数中判断具体是选择了哪个文件,进而做出相应的处理。如此就可以在程序中实现最近文件列表功能了。

  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/rosesmall/p/14785057.html
Copyright © 2020-2023  润新知