自己做的日期控件,为什么在win98下可以,在win2000却不行(附源代码)
做选择日期的控件(TDBEDit+Tdatetimepicker)
源代码:
unit fDBdateEdit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls,comctrls;
type
TfDBDateEdit1 = class(TDBEdit)
t1:Tdatetimepicker;
private
{ Private declarations }
protected
{ Protected declarations }
procedure dbchange(Sender: TObject);
procedure change;override;//去掉这一行和下面的过程就可以
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Free', [TfDBDateEdit1]);
end;
constructor TfDBDateEdit1.Create(AOwner: TComponent);
begin
inherited create(AOwner);
t1:=Tdatetimepicker.Create(self);
t1.parent:=self;
t1.Left:=left-2;
t1.Top:=top-2;
t1.height:=height;
t1.Width:=width;
t1.onchange:=dbchange;
end;
procedure TfDBDateEdit1.dbchange(Sender: TObject);
begin
DataSource.Edit;
Field.AsDateTime:=t1.date;
end;
procedure TfDBDateEdit1.change;
begin
if Field.AsDateTime>0 then
t1.date:=Field.AsDateTime;
end;
end.