《Delphi 6 開發人員指南》第11章就有這樣的例子。
下面是一個密碼窗體控件。
主要是Rigister過程注冊一下就行了。
unit PwDlg;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
//第一步,建立一個Form,而不是Application
TPasswordDlg = class(TForm)
OKbtn: TButton;
Cancelbtn: TButton;
Label1: TLabel;
Password: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
//以下這個TddgPasswordDialog不是新建上面TPasswordDlg窗體時產生的,
//而是手動加入的。
//第二步,建立一個類,包含上面的Form,并聲明此Form類型的變量
TddgPasswordDialog=class(TComponent)
private
PasswordDlg:TPasswordDlg; //聲明一個TPasswordDlg類型私有變量
FPassword:String;
public
function Execute:Boolean; //公開執行此Form的方法
published
//雜七雜八的屬性,方法,事件
property Password:String read FPassword write FPassword;
end;
//第三步,注冊為控件。
procedure Register;
implementation
{$R *.dfm}
procedure Register;
begin
RegisterComponents('ddg', [TddgPasswordDialog]);
end;
{ TddgPasswordDialog }
function TddgPasswordDialog.Execute: Boolean;
begin
PasswordDlg:=TPasswordDlg.Create(Application);
begin
try
Result:=False;
if PasswordDlg.ShowModal=mrOK then
Result:=PasswordDlg.Password.Text=FPassword;
finally
PasswordDlg.Free;
end;
end;
end;
end.
安裝控件不用說了吧,