Einzelnen Beitrag anzeigen

madtom

Registriert seit: 24. Feb 2005
Ort: Hamburg
115 Beiträge
 
Delphi XE7 Professional
 
#7

AW: Hilfe zu den RecentItems der RibbonControls

  Alt 3. Dez 2014, 17:23
So, ich bin jetzt mit meiner Lösung vorläufig zufrieden, aber vielleicht hagelt es ja Kritik oder Verbesserungsvorschläge .
Vielen Dank für die Denkanstöße.

Delphi-Quellcode:
const
  MaxRecentItems = 5; // maximale Anzahl der Recent Items in der Liste

procedure TFrmMain.FormCreate(Sender: TObject);
var
  IniFile: TMemIniFile;
  StringList: TStringList;
  i: Integer;
begin
  ...
  IniFile := TMemIniFile.Create('.\Settings.ini');
  try
    ...
    // RecentItems
    StringList := TStringList.Create;
    try
      IniFile.ReadSectionValues('RecentItems', StringList);
      for i := 0 to StringList.Count - 1 do
        Ribbon1.AddRecentItem(IniFile.ReadString('RecentItems', IntToStr(i), ''))
    finally
      StringList.Free;
    end;
  finally
    IniFile.UpdateFile;
    IniFile.Free;
  end;
end;

procedure TFrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
var
  IniFile: TMemIniFile;
  RecentItemsCount: Integer;
  i: Integer;
begin
  IniFile := TMemIniFile.Create('.\Settings.ini');
  try
    with IniFile do
    begin
      ...
      // RecentItems
      if RibbonApplicationMenuBar1.RecentItems.Count > MaxRecentItems then
        RecentItemsCount := MaxRecentItems
      else
        RecentItemsCount := RibbonApplicationMenuBar1.RecentItems.Count;
      IniFile.EraseSection('RecentItems');
      for i := 0 to RecentItemsCount - 1 do
        IniFile.WriteString('RecentItems', IntToStr(i),
          RibbonApplicationMenuBar1.RecentItems.Items[i].Caption);
    end;
  finally
    IniFile.UpdateFile;
    IniFile.Free;
  end;
end;
Thomas
Delphi Programming
  Mit Zitat antworten Zitat