写了一个VCL,但要创建一个ONResize事件并预先写入有关代码,怎么做?(50分)

  • 主题发起人 主题发起人 YongSoft
  • 开始时间 开始时间
Y

YongSoft

Unregistered / Unconfirmed
GUEST, unregistred user!
写了一个VCL,但要创建一个ONResize事件并预先写入有关代码,怎么做?
 
定义一个 DoResize 过程,然后重载控件的 SetHeight 方法和 SetWidth 方法
在这两个方法中触发它就是啦。
 
这是一个例子,弄明白他的道理就可以了

unit Edit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TEdit1 = class(TEdit)
private
{ Private declarations }
FOnresizer : TNotifyEvent;
protected
{ Protected declarations }
procedure WmSize(var message : TMessage); message WM_Size;
public
{ Public declarations }

published
{ Published declarations }
property OnResize : TNotifyEvent read FOnresizer write Fonresizer;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TEdit1]);
end;

procedure Tedit1.WmSize(var message : TMessage);
begin
if Assigned(FOnresizer) then FOnresizer(Self);
end;

end.
 

Similar threads

后退
顶部