我从TCustomControl类继承了一个类想在其所在的窗体移动时做点事,如何截获这个消息?
解决方案 »
- java和delphi之间的小问题
- 求解
- 不知道怎么做成近似查询,不太懂TABLE 请高手指点下!!!谢谢
- can't open clipboard 这个错误是什么原因?
- 找流媒体项目外包或者兼职,xdjm有时间的联系我。
- 有关TreeView的问题,怎样实现多选,并且防止子接点与父接点同时被选种
- 关于readfile()writefile()的问题。请过路的vc和delphi大侠帮帮忙啊。
- 关于WINEXEC函数的回显..
- 救救我吧
- CSDN可以聊天了,Do you know?
- delphi里象asp的split的分割函数是什么?急!!!!!!!!!
- 如何屏蔽Windows2000登录窗口中各个选项。
SendMessage到控件,控件收到消息就Do something
to ehom:
强行把OnResize的指针指向自定义的方法,不好,
况且是窗体的,别人要在onResize里写代码,岂不是写不了?
private
FMyResize: TNotifyEvent;
protected
procedure MyResize(Sender: TObject);
constructor Create(AOwner: TComponent); override;
end;constructor TTest.Create(AOwner: TComponent);
begin
inherited;
if Addr(TForm(AOwner).OnResize)<>nil then
FMyResize:= TForm(AOwner).OnResize;
TForm(AOwner).OnResize:= MyResize;
end;procedure TTest.MyResize(Sender: TObject);
begin
if Addr(FMyResize)<>nil then FMyResize(nil);
//加入你的代码
end;
这样一来,主窗体的onresize代码还是执行不了
[email protected]
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure FormResize(Sender: TObject);
procedure FormCreate(Sender: TObject);
end; TTest = class(TCustomControl)
private
FMyResize: TNotifyEvent;
protected
procedure MyResize(Sender: TObject);
constructor Create(AOwner: TComponent); override;
end;var
Form1: TForm1;
Test: TTest;
implementation{$R *.dfm}
constructor TTest.Create(AOwner: TComponent);
begin
inherited;
if Addr(TForm(AOwner).OnResize)<>nil then
FMyResize:= TForm(AOwner).OnResize;
TForm(AOwner).OnResize:= MyResize;
end;procedure TTest.MyResize(Sender: TObject);
begin
if Addr(FMyResize)<>nil then FMyResize(nil);
ShowMessage('窗体大小改变-2');
end;procedure TForm1.FormResize(Sender: TObject);
begin
ShowMessage('窗体大小改变-1');
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Test:=TTest.Create(Self);
end;end.试了???够详细了吗?