我自己根据网上的资料向Delphi7中添加了一个IP地址输入控件
可是安装后,只要一使用(即将该控件放在一个Form上,然后编译/运行)后
,Delphi控件面板上的字体就会变的很大,有点象Win3.2中的那样,这是怎么回事?组件的源码很简单,如下:
unit IPAddressEdit;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,ComCtrls, CommCtrl,
StdCtrls;type
TIPAddressEdit = class(TEdit)
private
{ Private declarations }
protected
procedure CreateParams(var Params: TCreateParams); override;
public
{ Public declarations }
published
{ Published declarations }
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('yunfei', [TIPAddressEdit]);
end;{ TIPAddressEdit }procedure TIPAddressEdit.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
InitCommonControl(ICC_INTERNET_CLASSES);
CreateSubClass(Params, WC_IPADDRESS);
end;end.
可是安装后,只要一使用(即将该控件放在一个Form上,然后编译/运行)后
,Delphi控件面板上的字体就会变的很大,有点象Win3.2中的那样,这是怎么回事?组件的源码很简单,如下:
unit IPAddressEdit;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,ComCtrls, CommCtrl,
StdCtrls;type
TIPAddressEdit = class(TEdit)
private
{ Private declarations }
protected
procedure CreateParams(var Params: TCreateParams); override;
public
{ Public declarations }
published
{ Published declarations }
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('yunfei', [TIPAddressEdit]);
end;{ TIPAddressEdit }procedure TIPAddressEdit.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
InitCommonControl(ICC_INTERNET_CLASSES);
CreateSubClass(Params, WC_IPADDRESS);
end;end.
FEdit: TEdit;
Add this Code at Public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
constructor TIPAddressEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FEdit := TEdit.Create();
FEdit.Parnet := Self;
FEdit.Visible := True;
end;destructor TIPAddressEdit.Destroy;
begin
inherited Destroy;
end;