Конференция "Компоненты" » Кнопка с предустановленными координатами [D7, WinXP]
 
  • DimaBr © (22.12.08 14:41) [20]
    Если же нужно именно в конструкторе и при заброске на форму, то естественно по другому, например так

    procedure TMyButton.CreateWnd;
    var f: TCustomForm;
    begin
     inherited;
     f := GetParentForm(self);
     if F is TCustomForm then begin
       Left := (TCustomForm(F).width - Width) div 2
     end;
    end;

  • Михаил74 © (22.12.08 16:17) [21]
    Всем огромное спасибо за помощь...
    Особенно DimaBr...
    Даже перекрывать ничего не пришлось...
    Последний пример очень помог, только вместо self - GetParentForm(Aowner as TControl)
    Вот что в итоге получилось, :
    ...
    constructor TColorBtn.Create(AOwner: TComponent);
    var f: TCustomForm;
    begin
     inherited Create(AOwner);
     ...
     f := GetParentForm(GetParentForm(Aowner as TControl));
     if F is TCustomForm then begin
       Left := (TCustomForm(F).width - Width) div 2;
     end;
     ...
    end;
  • Игорь Шевченко © (22.12.08 23:32) [22]

    > procedure TMyButton.SetParent(AParent: TWinControl);
    > begin
    >  inherited;
    >  Left := Left;
    > end;


    Left:=Left не нравится.

    Может AdjustSize ?
 
Конференция "Компоненты" » Кнопка с предустановленными координатами [D7, WinXP]
Есть новые Нет новых   [134464   +62][b:0][p:0]