//先定义事件处理过程
procedure Form1.Click(Sender:TObject);
begin
(Sender As TEdit).Text:='it's me';
end;
//把事件处理过程赋给MyEdit的OnClick事件
MyEdit.OnClick:=Click;
procedure Form1.Click(Sender:TObject);
begin
(Sender As TEdit).Text:='it's me';
end;
//把事件处理过程赋给MyEdit的OnClick事件
MyEdit.OnClick:=Click;
解决方案 »
- 请问这样的菜单如何做?
- 怎么知道消息是哪个进程发给我的?
- 如何将一个datetime类型的字段赋为空值啊?
- 如何将adoquery查询的结果存到数组里?在线等!(菜!)
- AdvStringGrid1如何设置多表头
- ####哪里有Delphi7下载?谢谢!######
- 新手入门!
- 谁送我一个SOCKET传送文件的例子,小弟参考一下!!
- WEBBROWSER控件如何执行弹出页面的确定按钮
- 关于格式化代码!!
- 关于针式打印机和激光打印机的问题
- DELPHI6中安装打包工具的完全版:The full version of InstallShield Express 3.5 从哪里可以得到?我的标准版不能处理中文.
并实现,
然后MyEdit.OnClick:=Proc;
一、在TEDIT基础上定义一个新的类,封装一个Click事件。
二、blazingfire的方法。定义表单的Click(也可以是另外的名称)事件,判断该事件的来源(Sender),当来源属性是Tedit类时,触发事件。最后一句MyEdit.Onclick ;= Click,是定义MyEdit的Click事件即你定义的过程。
[Error]Unit1.pas(20):Unsatisfied forward or external declaration:"TForm1.itsme"
下面是我声明的过程。
procedure itsme(Sender: TObject);
procedure TForm1.itsme(Sender: TObject);
type
......
procedure itsme(Sender: TObject);
end;实现的时候应这样写:
procedure tform1.itsme(sender:tobject);
begin
tedit(sender).text:='it''s me';
end;
然后在动态创建tedit对象时:
myedit.onclick:=itsme;
type
........
procedure itsme(sender:Tobject);
end;实现时这么写:
procedure Tform1.itsme(sender:Tobject);
begin
Tedit(sender).text:='it''s me';
end;然后在你动态创建Tedit对象是 这么赋:
youredit.onclick:=itsme;
应该没问题。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
ControlBar1: TControlBar;
procedure FormActivate(Sender: TObject);
procedure Click(Sender:TObject); private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
myedit:tedit;implementation
procedure tform1.Click (Sender:TObject);
begin
(Sender As TEdit).Text:='its me';
end;
{$R *.dfm}procedure TForm1.FormActivate(Sender: TObject);begin
myedit:=tedit.Create(Self);
myedit.Parent:=controlbar1;
myedit.Height:=13;
myedit.Width:=30;
myedit.Top :=1000;
myedit.Visible :=true;
myedit.OnClick :=click;
end;end.测试通过,给分!