动态创建的菜单如何保存及下次运行时恢复 想在程序中动态创建菜单,创建后保存起来,以后运行程序的时候利用保存的信息恢复动态创建的菜单。 不知道怎么弄,那位大侠知道麻烦指教一下。 比如说我现在想新建 ‘打开文件’和‘关闭文件’两个菜单。那代码该怎么写? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 创建的时候需要些什么,你保存下来,再运行的时候,重新创建一次不就行了?那些信息当中,唯一不好处理的只有一个事件函数。而事件函数,其实可以放到ActionList当中,这样子就相对简单多了。 为主菜单中“文件”菜单添加‘打开文件’procedure TForm1.Button2Click(Sender: TObject);var mitem:Tmenuitem;begin mitem:=Tmenuitem.Create(self); mitem.Caption:='打开文件'; mitem.OnClick:=myclick; fileitem.Insert(fileitem.Count,mitem);end;fileitem: TMenuItem;为主菜单中文件菜单 动态添加菜单我会,关键是将菜单信息保存到ini文件和利用保存的信息再创建菜单我不会。 给一点读取ini文件创建菜单的代码保存到ini文件的也差不多,就是用WriteString那些方法了uses IniFiles;var MyIniFile: TIniFile; menuFile : string; mitem:Tmenuitem; actionIndex: integer;begin menuFile:= ExtractFilePath(Paramstr(0))+ 'menu.ini'; MyIniFile := TIniFile.Create(ConfigFile); newitem:=Tmenuitem.Create(self); newitem.Caption:= MyIniFile.ReadString('Menu','caption',''); actionIndex:= MyIniFile.ReadInteger('Menu','index',''); newitem.OnClick:= ActionList1.Actions[actionIndex].OnExecute;; fileitem.Insert(newitem); MyIniFile.Free;end; 用TStream的WriteComponent/ReadComponent来保存读取会更方便 如何在intrweb中访问页面生成的表格? 关于在system单元定义变量的问题 请教DateTimePicker.date 的格式与机器的日期格式问题! 安装程序装到别人的机子上以后,help文件调不出来了,如何解决? 在Delphi6中怎么样让adoquery控件识别Unicode呢?(请具体举例子)分不够再加! 很简单的问题,送分 急!急!急!在线等. ERP项目外包 delphi+flash问题 怎样捕捉CTRL+鼠标左键? 程序自动退出是怎么回事 提示NMFtp.dcu找不到
var
mitem:Tmenuitem;
begin
mitem:=Tmenuitem.Create(self);
mitem.Caption:='打开文件';
mitem.OnClick:=myclick;
fileitem.Insert(fileitem.Count,mitem);
end;fileitem: TMenuItem;为主菜单中文件菜单
保存到ini文件的也差不多,就是用WriteString那些方法了
uses IniFiles;
var
MyIniFile: TIniFile;
menuFile : string;
mitem:Tmenuitem;
actionIndex: integer;
begin
menuFile:= ExtractFilePath(Paramstr(0))+ 'menu.ini';
MyIniFile := TIniFile.Create(ConfigFile);
newitem:=Tmenuitem.Create(self);
newitem.Caption:= MyIniFile.ReadString('Menu','caption','');
actionIndex:= MyIniFile.ReadInteger('Menu','index','');
newitem.OnClick:= ActionList1.Actions[actionIndex].OnExecute;;
fileitem.Insert(newitem);
MyIniFile.Free;
end;