重载它的
procedure WndProc(var Message: TMessage); override;
不过这样你要先派生button的子类;
procedure WndProc(var Message: TMessage); override;
不过这样你要先派生button的子类;
解决方案 »
- 2010 写写字符串到文件
- 问个combobox和edit的问题!
- 关于Activex传递参数的问题
- DELPHI下如何禁止其他应用程序的某个窗口弹出!急!!!
- 菜鸟求助:级联删除怎么实现???
- 无法为数据表添加数据
- 如何对DBGrid中的数据进行排序?
- 如何根据一个列的内容有规律地得出另一列的内容?
- 怎么安装只有*.dcu的组件?
- http://news.163.com/06/0221/10/2AFR0SUJ0001124S.html
- 好书推荐:http://www.csdn.net/Expert/TopicView1.asp?id=645424
- 关于Delphi6.0中,adotable控件的一个bug(287字)
button1.free;
窗体摧毁的时候就自动销毁button了,不用你维护。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
FButton: TButton;
FOldWndProc: TWndMethod;
procedure NewWndProc(var Msg: TMessage);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
FButton := TButton.Create(Self);
FButton.Parent := Self;
FButton.Left := 100;
FButton.Top := 100;
FButton.Caption := 'FButton';
FOldWndProc := FButton.WindowProc;
FButton.WindowProc := NewWndProc;
end;procedure TForm1.NewWndProc(var Msg: TMessage);
begin
case Msg.Msg of
CM_MOUSEENTER:
Caption := 'FButtonMouseEnter';
CM_MOUSELEAVE:
Caption := 'FButtonMouseLeave';
end;
FOldWndProc(Msg);
end;end.