比较变态的问题--如何替换类的某个方法吗?

CACACACACA 2010-03-30 05:08:30
加精
Form1上有个Button1, 我想在运行时. 把Button1.Click替换成Form1.DoButtonClick方法.

public
constructor Create(AOwner: TComponent); override;
procedure Click; override;
function UseRightToLeftAlignment: Boolean; override;
published

解决的给全分,如果解决不了,就当散分了.

...全文
2326 95 打赏 收藏 转发到动态 举报
写回复
用AI写文章
95 条回复
切换为时间正序
请发表友善的回复…
发表回复
wbryfl 2010-05-13
  • 打赏
  • 举报
回复
换个思路,用个全局变量标识,在点button1时,先判断变量,处理完你的动作后,改变变量值,根据变量不同决定是否调用DoButtonClick。
不得闲 2010-04-08
  • 打赏
  • 举报
回复
Delphi 2007的话,有类补丁!非私有方法可以随意修改!
jiujiu45 2010-04-08
  • 打赏
  • 举报
回复
xian ding zaikan
clocke 2010-04-08
  • 打赏
  • 举报
回复
这个不大理解。。。
migercai 2010-04-06
  • 打赏
  • 举报
回复
看了半天
总算看到有人提示这是 Delphi
wtpgood 2010-04-04
  • 打赏
  • 举报
回复
新手,学习
sixgj 2010-04-03
  • 打赏
  • 举报
回复
这个方法的用意是什么呢?
a65536 2010-04-03
  • 打赏
  • 举报
回复
mark!
iamduo 2010-04-03
  • 打赏
  • 举报
回复
我也没有理解过来,lz 是啥意思?
volkswageos 2010-04-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 jjwwang 的回复:]
Form1上有个Button1, 我想在运行时. 把Button1.Click替换成Form1.DoButtonClick方法.

public
constructor Create(AOwner: TComponent); override;
procedure Click; override;
function UseRightToLeftAlignment: Bo……
[/Quote]

没有仔细研究过Delphi,关注一下
Swkjd 2010-04-02
  • 打赏
  • 举报
回复
都在同一个程序中是不是可以在前者的响应函数里调用后者的响应函数?
jokerdx 2010-04-02
  • 打赏
  • 举报
回复
学习了~~~~~~~~~~~~~~~~~~~~~~~
Harryfin 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 73 楼 jjwwang 的回复:]

TDBGridInplaceEdit = class(TInplaceEditList)
private
FDataList: TDBLookupListBox;
FUseDataList: Boolean;
FLookupSource: TDatasource;
protected
procedure CloseUp(Accept: Bo……
[/Quote]
你说的似乎就是我说的ClassHelper的用法

http://www.cnblogs.com/del/archive/2009/10/13/1582789.html

或者干脆自己继承控件OVERRIDE下该方法吧
JavaAlpha 2010-04-02
  • 打赏
  • 举报
回复
我的想法就是在点击事件触发的时候改变方法名。 个人想法仅供参考。
yu4086078 2010-04-02
  • 打赏
  • 举报
回复
ye budong
zuomingyu2 2010-04-01
  • 打赏
  • 举报
回复
mark
BigAngell 2010-04-01
  • 打赏
  • 举报
回复

怎么搞的这么复杂?惯性思维在作怪?

Button1.Click := Form1.DoButtonClick;

不就完了么,有楼上的兄弟们想的那么复杂嘛,还勾子消息什么的。
skyaspnet 2010-04-01
  • 打赏
  • 举报
回复
学习。。。
hz_bule 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jjwwang 的回复:]
谢谢各位! 我先研究一上三楼的代码.

我的本意是这样;

var
P: Pointer;
begin
P := Button1.Click;
//调用之前我要处理些东西. DoSomething中再调用P.
Button1.Click := Form1.DoSomething; //这步有些麻烦.
end;
[/Quote]

Button1.Click := Form1.DoSomething; //这步有些麻烦.
改为Button1.OnClick := Form1.DoSomething; //这步有些麻烦.
DoSomething 定义: procedure DoSomething(Sender: TObject);



dengqun1987 2010-04-01
  • 打赏
  • 举报
回复
YOU DIAN MA FAN
加载更多回复(71)

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧