Вниз
Скачать: CL | DM;

Установка свойств компонента по умолчанию   Найти похожие ветки 

← →
Konstantionov ©   (2003-04-30 01:46) [0]

Создаю компонент, к примеру потомок TLabel.
Пытаюсь изменить шрифт, используемый по умолчанию и добавить несколько
своих свойств, но больше не до чего не додумался, кроме как написать:


public
constructor Create(AOwner: TComponent); override;

...

constructor TMyCustomLabel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle + [csOpaque, csReplicatable];
Width := 65;
Height := 17;
FMyProperty := 50;
Font.Name := "Arial Black";
end;

почему не работает default в объявлении свойства MyProperty?


type
TMyLabel = class(TLabel)
private
FMyProperty:integer;
procedure SetMyProperty(Value:integer);
published
property MyProperty:integer read FMyProperty write SetMyProperty default 50;
end;

можно ли применить default к свойству Font.Name?

нутром чувствую - написал лажу!

Нужен ли деструктор?
Что будет, если указанного шрифта не окажется в системе? (Мне нужен любой True Type)

извините за ламерство и сумбурное изложение.


← →
default ©   (2003-04-30 01:55) [1]

прописывай умалчиваемые значения в конструкторе
директива "default" означает нечто другое - см. Дельфёвый хелп
(это означает что при совпадении св-ва со значением после default-а оно не будет сохранено в .dfm)


← →
Навичек   (2003-04-30 03:47) [2]

default сообщает коду поточной обработки что значние этого свойства настраивается кодом инициализации компонента (т.е. в create)

деструктор то тебу зачем
есть простое правило если ты сам создаешь объект то должен сам его и уничтожить.... используй free или freeandnil(освобождает память + устанавливает все ссылки на объект в nil)...... а деструктор нужен если ты при жизненном цикле компонента используешь какойнить ресурс.... тогда его стоит использовать.... при использовании метода free вызывается деструктор так что зачем те его делать



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-34443
ДЮША
2003-04-28 15:02
2003.05.12
Программа в трее......


1-34462
Snuk
2003-04-29 11:09
2003.05.12
Как передать параметр в DLL


14-34557
Карлсон
2003-04-23 15:39
2003.05.12
почему удалили?


1-34510
race1
2003-04-29 13:54
2003.05.12
WindowState


1-34475
KIE
2003-04-28 11:10
2003.05.12
Выключение Timer-а как отследить




   Наверх