-
Пытаюсь создать свой компонент
Наследник TCustomControl.
Добавляю свойство FMinFont
TMyComp = class(TCustomControl)
private
...
FMinFont: TFont;
...
published
...
property MinFont: TFont read FMinFont write FMinFont;
...
end;
Компиляция и установка в палитру проходит нормально.
В Disign-time вижу свойство, но раскрыть его (нажатием на крестик) не получается.
Что я делаю не так? -
DimaBr © (26.04.07 14:11) [1]Его нужно ещё и создавать
constructor TMyComp.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
fMinFont := TFont.Create;
end;
destructor TMyComp.Destroy;
begin
fMinFont.Free;
inherited Destroy;
end; -
_Аноним © (26.04.07 14:42) [2]
> property MinFont: TFont read FMinFont write FMinFont;
так не делай. Делай метод SetMinFont, где проводи Assign
а позволять снаружи подменять ссылку себе - плохо. -
DimaBr © (26.04.07 15:01) [3]Умняка надавил а как правилно сделать не показал
TMyComp = class(TCustomControl)
private
fMinFont: TFont;
procedure SetFont(const Value: TFont);
public
constructor Create(AOwner: TComponent);override;
destructor Destroy; override;
published
property MinFont: TFont read fMinFont write SetFont;
end;
implementation
constructor TMyComp.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
fMinFont := TFont.Create;
end;
destructor TMyComp.Destroy;
begin
fMinFont.Free;
inherited Destroy;
end;
procedure TMyComp.SetFont(const Value: TFont);
begin
fMinFont.Assign(Value);
end; -
_Аноним © (26.04.07 22:05) [4]
> Умняка надавил
Где??
что ж такое то... -
DimaBr © (27.04.07 08:35) [5]
> Где??
[2] -
имя(09.05.07 13:41) [6]Удалено модератором