RecentFiles(1).Open
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”等字样,删除它们';
I.Desire := '加不加分随你';
—————————————————————————————————
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”等字样,删除它们';
I.Desire := '加不加分随你';
—————————————————————————————————
2.在程序退出时把数组中的值写到注册表中,如:
[HKEY_CURRENT_USER\Software\Your Product Name\RecentFiles]
"1" = "File1.txt"
"2" = "File2.txt"
"3" = "File3.txt"
"4" = "File4.txt"
3.在程序开始时读出注册表中的信息,在File菜单中动态创建四个(假如注册表中有四项)菜单项,OnClick事件这样写(该函数先写好,在创建菜单项时赋给菜单的OnClick):
procedure TForm1.RecentFile1Click(Sender: TObject);
begin
OpenTheFile((Sender as TMenuItem).Caption);//在OpenTheFile中打开文件.
end;
4.在第一步时也用第三步的方法更新菜单.
I,T: integer;
MenuItems: Array of TMenuItem;
begin
if FileExists(ResPath+'\'+'ZXMENU.INI') then
begin
MenuPaths.LoadFromFile(ResPath+'\'+'ZXMENU.INI');
SetLength(MenuItems,MenuPaths.Count);
For i:= 0 to MenuPaths.Count-1 do
begin
MenuItems[i]:=TMenuItem.Create(Mainfm.StkMenu);
T:=Pos(',',MenuPaths[i]);
MenuItems[i].Caption:=Copy(MenuPaths[i],1,T-1);
MenuPaths[i]:=Copy(MenuPaths[i],T+1,Length(MenuPaths[i])-T);
MenuItems[i].OnClick:=Mainfm.MenuClick;
MenuItems[i].Tag:=i;
Mainfm.hyzx.Add(MenuItems[i]);
end;
end;
end;
从ini文件加菜单的方法,这是个例子。
FileExists('这里面是你的路径和文件名就可以了')
MenuPaths需要定义一下,是TStringList;
在写一编。var
I,T: integer;
MenuItems: Array of TMenuItem;
MenuPaths: TStringList;
begin
MenuPaths:=TStringList.create;
if FileExists('E:\ZXMENU.INI') then
begin
MenuPaths.LoadFromFile('E:\ZXMENU.INI');
SetLength(MenuItems,MenuPaths.Count);
For i:= 0 to MenuPaths.Count-1 do
begin
MenuItems[i]:=TMenuItem.Create(Mainfm.StkMenu);
T:=Pos(',',MenuPaths[i]);
MenuItems[i].Caption:=Copy(MenuPaths[i],1,T-1);
MenuPaths[i]:=Copy(MenuPaths[i],T+1,Length(MenuPaths[i])-T);
MenuItems[i].OnClick:=Mainfm.MenuClick;
MenuItems[i].Tag:=i;
Mainfm.hyzx.Add(MenuItems[i]);
end;
end;
MenuPaths.free;
end;