Changing the Number of Files Displayed in the Most Recently Used (MRU) List

Environment: VC6

This article explains how to change the number of files that are displayed in the list of most recently used files that is displayed in the File menu.

How Is It Done?

In the class derived from CWinApp in a SDI or MDI application created by the Application Wizard there is a undocumented member m_pRecentFileList this is an object of the class CRecentFileList. This is the class that is used to display the MRU files in the menu. The class does not provide anyway to change the size without deleting the class and recreating it. Below is the method that is used to accomplish this:


#include <afxadv.h>        // This must be included for the
                           // CRecentFileList class

BOOL CMRUAppApp::ChangeMRUCount(UINT nCount)
{
  BOOL bReturn = FALSE;

  ASSERT(nCount <= 16);    // Make sure the value is not greater
                           // than 16

  // Make sure that the list is written to the Registry

  m_pRecentFileList->WriteList();

  // Get the place in the Registry and format from the original
  // CRecentFileList

  CString strSection     = m_pRecentFileList->m_strSectionName;
  CString strEntryFormat = m_pRecentFileList->m_strEntryFormat;

  // Delete current CRecentFileList

  delete m_pRecentFileList;

  // Create a new one

  m_pRecentFileList = new CRecentFileList(0, strSection,
                                             strEntryFormat,
                                             nCount);

  ASSERT(m_pRecentFileList);

  if(m_pRecentFileList)
  {
    bReturn = TRUE;

    // Reload list of MRU files from the Registry

    m_pRecentFileList->ReadList();
  }

  return bReturn;
}

To compile the code to use the m_pRecentFileList object, you must include the header afxadv.h.

The first thing the method does is to store the section in the Registry or application INI file where the MRU file list is stored and to get the string that is used to format the name of the entries stored in the Registry. The current object is then deleted and a new one created, using these stored values and the count of MRU files that was sent to the method. If this was created successfully, the list is read back from the Registry or INI file.

The Demo Project

The Demo project is a SDI application that has its view derived from CEditView to create a simple text editor. To test the example, open the text files and watch the MRU file list fill up. Initially, the number of files displayed is 4. To change the number, go to the Edit menu and click the Change MRU Count menu item. This displays a dialog where you then can change the number of files that will be displayed.

Downloads

Download demo project - 36 Kb


Comments

  • KZKLD ESE QDzM

    Posted by WefIyyIvLp on 04/14/2013 04:38pm

    tramadol online buy tramadol online no prescription next day delivery - buy tramadol online cheap no prescription

    Reply
  • When decrease the size of the recent file list, should update menu

    Posted by Legacy on 04/18/2003 12:00am

    Originally posted by: Jason Feng

    When decrease the size of the recent file list, should update menu

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Lenovo recommends Windows 8 Pro. "I dropped my laptop getting out of the taxi." This probably sounds familiar to most IT professionals. If your employees are traveling, you know their devices are in for a rough go. Whether it's a trip to the conference room or a convention out of town, any time equipment leaves a user's desk it is at risk of being put into harm's way. Stay connected at all times, whether at the office or on the go, with agile, durable, and flexible devices like the Lenovo® …

  • Live Event Date: September 23, 2015 @ 1:00 p.m. ET / 10:00 a.m. PT The cloud is not just about a runtime platform for your projects – now, you can do your development in the cloud, too. Check out this upcoming eseminar to learn how the cloud improves your development experience and team collaboration. Join Dana Singleterry, Principal Product Manager for Oracle Dev Tools, as he discusses how to simplify every aspect of the development lifecycle, including requirements gathering, version management, code …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date