下面的代码是通过ini文件生成菜单的代码:procedure TForm1.CreateFood;
var
mainm : TMainMenu;
Im1,Im2 : TMenuItem;
Va : String;
IniFile : TIniFile;
Idx : Integer;
Str : String;
begin
IniFile := TIniFile.Create('..\ini.ini'); //打开INI文件
Va := IniFile.ReadString('菜单','文件',''); //读取小节参数值
mainm := TMainMenu.Create(form1); //创建主菜单
Im1 := TMenuItem.Create(mainm); //创建一级菜单
Im1.Caption := '文件';
mainm.Items.Add(Im1); //将一级菜单添加到主菜单
while Va<>'' do
begin
Idx := Pos('|',Va); //查找|标志符的位置
Str := Copy(Va,1,Idx-1); //截取|号分开的菜单标题
Im2 := TMenuItem.Create(Im1); //创建二级菜单
Im2.Caption := Str; //定义菜单标题
if Str='打开' then
Im2.OnClick:=MenuClick;
if Str='退出' then
Im2.OnClick := Button1.OnClick; //定义单击事件
Im1.Add(Im2); //将二级菜单添加到一级菜单
delete(Va,1,Idx); //删除截取的字符
end;
end;
请问高手,像下面的菜单事件如何通过上面的代码Im2.OnClick := Button1.OnClick这个事件一起创建出来?
procedure TForm1.im2Click(Sender: TObject);
begin
showmessage('hello world');
end;
var
mainm : TMainMenu;
Im1,Im2 : TMenuItem;
Va : String;
IniFile : TIniFile;
Idx : Integer;
Str : String;
begin
IniFile := TIniFile.Create('..\ini.ini'); //打开INI文件
Va := IniFile.ReadString('菜单','文件',''); //读取小节参数值
mainm := TMainMenu.Create(form1); //创建主菜单
Im1 := TMenuItem.Create(mainm); //创建一级菜单
Im1.Caption := '文件';
mainm.Items.Add(Im1); //将一级菜单添加到主菜单
while Va<>'' do
begin
Idx := Pos('|',Va); //查找|标志符的位置
Str := Copy(Va,1,Idx-1); //截取|号分开的菜单标题
Im2 := TMenuItem.Create(Im1); //创建二级菜单
Im2.Caption := Str; //定义菜单标题
if Str='打开' then
Im2.OnClick:=MenuClick;
if Str='退出' then
Im2.OnClick := Button1.OnClick; //定义单击事件
Im1.Add(Im2); //将二级菜单添加到一级菜单
delete(Va,1,Idx); //删除截取的字符
end;
end;
请问高手,像下面的菜单事件如何通过上面的代码Im2.OnClick := Button1.OnClick这个事件一起创建出来?
procedure TForm1.im2Click(Sender: TObject);
begin
showmessage('hello world');
end;
procedure MenuItemClick(sender:TObject);
2.Im2.onClick := MenuItemClick;
3.procedure TForm1.MenuItemClick(sender:TObject);
begin
showmessage('Hello,Im2');
end;