<<<<<<<<<<关于动态创建popupmenu的项目问题>>>>>>>>>>> 1.不清楚2.mynewitem.onclick:=FunctionName//你的过程名 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你的程序改成下面的样子就可以通过了:procedure TForm2.BitBtn1Click(Sender: TObject);var mynewitem:TMenuItem;begin mynewitem:=TMenuItem.Create(self);//动态创建菜单项 mynewitem.caption:='a';//设置菜项单名 mynewitem.Hint:='b'; Form1.PopupMenu1.Items.Add(mynewitem);//把生成的菜单项加入Form1.popupMenu1中end;如果你要加OnClick代码,就在上面代码的“Form1.PopupMenu1.Items.Add(mynewitem);”子中上面加mynewitem.OnClick:=mynewitemClick(你自己定义的一个过程,用来响应动态创建 被点击事件)比方说mynewitemclick过程定义如下: procedure TForm2.mynewitemclick(Sender:TObject); begin showmessage('事件响应成功!'); end; 我想定义到底是什么caption的newitem被点了,怎样做呢?sender? procedure TForm2.mynewitemclick(Sender:TObject);begin ShowMessage(TMenuItem(Sender).Caption);end; 可是不行呀://////////unit 2 publicprocedure mynewitemclick(sender:tobject);//[Error] Unit2.pas(24): Unsatisfied forward or external declaration: 'TForm2.mynewitemclick' { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm} procedure mynewitemclick(sender :tobject) ; begin form1.FileListBox1.Directory:=tmenuitem(sender).Hint; end;...beginmynewitem.onClick:=mynewitemclick;form1.PopupMenu1.Items.Add(mynewitem);end;... 就是说在我定义procedure mynewitemclick(sender:tobject);的时候有这样的错误:[Error] Unit2.pas(24): Unsatisfied forward or external declaration: 'TForm2.mynewitemclick' 以前的create的问题已经解决了,现在我想知道为什么我照上面说的定义mynewitem的onclick的时候会出这样的错误. to blazingfire(烈焰) :"比方说mynewitemclick过程定义如下: procedure TForm2.mynewitemclick(Sender:TObject); begin showmessage('事件响应成功!'); end;"这个过程写在哪里?要不要先声明?我delphi比较莱,感谢赐教! 怎么操作WindowsCE设备中的文件 现在每天都要写垃圾代码 晕哦 有关视频监控的问题(如何取得摄像头的状态) 走过路过,请帮帮忙,遇到一个小问题? 分不够再加,只求最终结果,谢谢 在DEPHI中如何取得本机的IP? table1中的组合过滤怎么设置 DEPHI中的数学函数,是否有乘方等等高级的函数,在线等待 用delphi编程与短信模块收发信息接收到的信息没有了,只收到发送方号码,怎么回事? 我的database desktop打不开了!!! 高手请相告好吗? //// rar文件,
procedure TForm2.BitBtn1Click(Sender: TObject);
var
mynewitem:TMenuItem;
begin
mynewitem:=TMenuItem.Create(self);//动态创建菜单项
mynewitem.caption:='a';//设置菜项单名
mynewitem.Hint:='b';
Form1.PopupMenu1.Items.Add(mynewitem);//把生成的菜单项加入Form1.popupMenu1中
end;
如果你要加OnClick代码,就在上面代码的“Form1.PopupMenu1.Items.Add(mynewitem);”子中上面加mynewitem.OnClick:=mynewitemClick(你自己定义的一个过程,用来响应动态创建 被点击事件)比方说mynewitemclick过程定义如下:
procedure TForm2.mynewitemclick(Sender:TObject);
begin
showmessage('事件响应成功!');
end;
sender?
begin
ShowMessage(TMenuItem(Sender).Caption);
end;
//////////unit 2
public
procedure mynewitemclick(sender:tobject);//[Error] Unit2.pas(24): Unsatisfied forward or external declaration: 'TForm2.mynewitemclick'
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}
procedure mynewitemclick(sender :tobject) ;
begin
form1.FileListBox1.Directory:=tmenuitem(sender).Hint; end;...
begin
mynewitem.onClick:=mynewitemclick;form1.PopupMenu1.Items.Add(mynewitem);
end;
...
[Error] Unit2.pas(24): Unsatisfied forward or external declaration: 'TForm2.mynewitemclick'
"比方说mynewitemclick过程定义如下:
procedure TForm2.mynewitemclick(Sender:TObject);
begin
showmessage('事件响应成功!');
end;"
这个过程写在哪里?要不要先声明?我delphi比较莱,感谢赐教!