我做了一个控件TCWeek,里面有一个comBox,在constructor TCWeek.Create(AOwner: TComponent)中,我想给comBox赋值,能编译通过,但是在设计时,往页面上加时,就显示controwl '' have not parent,不知如何解决.下面是源程序.
unit CWeek;interfaceuses
   Dialogs,SysUtils, Classes, Controls,StdCtrls, ComCtrls, Messages,ExtCtrls;
type
  TCWeek = class(TWinControl)  private
    FDateTimePicker: TDateTimePicker;
    cmbWeek: TComboBox;    procedure OnDateTimePickerChange(Sender: TObject);
    procedure OncmbWeekChange(Sender: TObject);
  protected
    procedure WMSize(var Msg: TMessage);message WM_SIZE;
  public
    constructor Create(AOwner: TComponent);override;
    destructor Destroy;override; 
  published  end;procedure Register;var i,year,month,day :integer;
implementationprocedure Register;
begin
  RegisterComponents('Hszc', [TCWeek]);
end;constructor TCWeek.Create(AOwner: TComponent);
begin  inherited Create(AOwner);  self.Width := 160;
  self.Height := 22;
  FDateTimePicker := TDateTimePicker.Create(nil);
  FDateTimePicker.Parent := self;
  FDateTimePicker.Top := 0;
  FDateTimePicker.Left := 0;
  FDateTimePicker.Height := 21;
  FDateTimePicker.Width := 100;
  FDateTimePicker.OnChange := OnDateTimePickerChange;  cmbWeek := TComboBox.Create(nil);
  cmbWeek.Parent := self;
  cmbWeek.Top := FDateTimePicker.Top;
  cmbWeek.Left := FDateTimePicker.Left+FDateTimePicker.Width+5;
  cmbWeek.Height := 21 ;
  cmbWeek.Width := 50;
  cmbWeek.OnChange := OncmbWeekChange;  begin
      i := 1;
      while i< 54  do
        begin
        cmbWeek.Items.add(IntTostr(i));
        i := i+1;
        end;
   end;end;procedure Show(Sender: TObject);
beginend;destructor TCWeek.Destroy;
begin  FDateTimePicker.Free;
  cmbWeek.Free;
  inherited;
end;procedure TCWeek.WMSize(var Msg: TMessage);begin  self.Width := 160;
  self.Height := 22;  FDateTimePicker.Top := 0;
  FDateTimePicker.Left := 0;
  FDateTimePicker.Height := 21;
  FDateTimePicker.Width := 100;  cmbWeek.Top := FDateTimePicker.Top;
  cmbWeek.Left := FDateTimePicker.Left+FDateTimePicker.Width+5;
  cmbWeek.Height := 21 ;
  cmbWeek.Width := 50;end;procedure TCWeek.OnDateTimePickerChange(Sender: TObject);begin
    showmessage('ok');
end;procedure TCWeek.OncmbWeekChange(Sender: TObject);begin     showmessage('ok2');end;end.