![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Значения свойств компонента по умолчанию, кто зна? [D6, Win2k, WinXP]
Matolch © (2002-11-24 13:02:00)Оченьхотелось бы найти ответ на один скромный вопрос. Берем компонент. У него свойства - типа Anchors, BevelInner, DragCursor и т.п. всячина. Каким образом определить, какое значение должно быть у данного свойства компонента по умолчанию?
Подскажите, кто знает, добром вспомню.
Matolch (2002-11-26 22:43:00) [1]
tkMethod:
begin
MethodC := GetMethodProp(Component, PropName);
MethodS := GetMethodProp(SomeObject, PropName);
if (MethodC.Code <> MethodS.Code) or (MethodC.Data <> MethodS.Data) then
begin
StrValueC := {TObject(MethodC.Data).}MethodName(MethodC.Code);
Add(" " + PropName + " := " + StrValueC + ";");
end;
end;
Если не ремить TObject(MethodC.Data), прекрасно работает.
Matolch (2002-11-25 20:42:00) [2]
> Юрий Зотов ©
Большое спасибо, я уже до меня уже дошло.
Юрий Зотов (2002-11-25 09:36:00) [3]Создать, взять значение, уничтожить.
Matolch (2002-11-24 18:47:00) [4]> Calm ©
Жаль, что я пропустил начало и не смог сразу отреагировать. Извиняюсь, я должен немного поправиться (кг до 127.8). Вопрос должен звучать немного не так, как он did. Тут другое. Как в< B>Runtime узнать этот default; с каким значением поле FBevelInner типа TBevelCut = (bvNone, bvLowered, bvRaised, bvSpace), инициализируется в конструкторе:
FBevelInner := bvRaised; ?
Не таскать же за собой модули, перелопачивая их в случае необходимости. Ну, вот.
... default...
... default...
... default...
Calm (2002-11-24 13:15:00) [5]Значения свойств компонент VCL указываются директивой default в объявлении свойства в классе. Если свойство имеет значение, отличное от используемого по умолчанию, то это значение сохраняется в dfm-файле. Это можно легко увидеть, перейдя в режим редактирования формы View as form.
Например:
TMyClass=class
published
property MyProp:integer read GetMyProp write SetMyProp default 20;
end;
Нужно иметь ввиду, что директива default имеет другой смысл для индекстированных свойств, т.е. имеющих входной параметр перечислимого типа (например, свойство items класса TList)