Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.17;
Скачать: CL | DM;

Вниз

Свойство компонента   Найти похожие ветки 

 
Bujhm   (2008-01-25 12:24) [0]

Здравствуйте, возможно ли компоненту установить свойство которое доступно только в Object Inspector ?


 
Palladin ©   (2008-01-25 12:28) [1]

а при чем тут создание компонентов?


 
Bujhm   (2008-01-25 12:38) [2]


> Palladin ©   (25.01.08 12:28) [1]


Если компоненту создать какое то свойство, например


private
   { Private declarations }
   FFont: TFont;

published
   { Published declarations }
   property Font: TFont read FFont write SetFont;


то как зделать что бы это свойство видно было только в Object Inspector, но не в TCodeCompleteListView


 
Palladin ©   (2008-01-25 12:51) [3]

да, в общем"то, никак. где ты вообще такое видел?


 
Bujhm   (2008-01-25 13:26) [4]


> Palladin ©   (25.01.08 12:51) [3]


Да в общем то ни где, процедура вот к примеру

procedure TComponent.CreateParams(var Params: TCreateParams);
begin
 inherited;
 Params.Style := Params.Style - WS_BORDER;
 Params.WindowClass.Style := Params.WindowClass.Style - CS_DROPSHADOW;
end;


которую я так понял можно использовать только при создании компонента, в Design получаеться а в остольном никак


 
Palladin ©   (2008-01-25 13:37) [5]

ничего не понял... причем тут эта процедура? и она в protected секции вообще-то, а не в published это раз, два: она не у TComponent, а у TWinControl... хотя может ты свой компонент TComponent"ом обозвал...


 
Bujhm   (2008-01-25 13:51) [6]


> Palladin ©   (25.01.08 13:37) [5]


...Да обозвал TComponent

Ну вобщем я засел за Создание компонентов в среде Delphi. Руководство разработчика и за Рея, короче пока не изучу с глыпыми вопросами пристовать не буду.

Спасибо Palladin


 
DimaBr ©   (2008-01-25 14:21) [7]


> Palladin ©   (25.01.08 12:51) [3]
>
> да, в общем"то, никак.

Странно слышать от мастера такое.


 
Palladin ©   (2008-01-25 14:22) [8]


>  [7] DimaBr ©   (25.01.08 14:21)

какое? свойство объявить что бы в коде комлетион его не было а в инспекторе было?


 
DimaBr ©   (2008-01-25 14:30) [9]

Да, я например легко напишу редактор свойства, в котором его переименную. В итоге в инспекторе свойство есть а в коде нет !


 
Palladin ©   (2008-01-25 14:34) [10]

И я не смогу присвоить этому свойству значение по его имени?


 
DimaBr ©   (2008-01-25 14:37) [11]

Конечно, ведь такого на самом деле не будет.
Беру свойство Tag

TTagPropertyEditor = class(TPropertyEditor)
 function GetName: string;override;
end;

function TTagPropertyEditor.GetName: string;
begin
 Result := "MySuperTag"
end;

RegisterPropertyEditor()


В инспекторе видим что ? А как до него достучаться ?


 
Palladin ©   (2008-01-25 14:40) [12]

А к MySuperTag я достучусь?


 
DimaBr ©   (2008-01-25 14:41) [13]

Как ?


 
Palladin ©   (2008-01-25 14:42) [14]

obj.MySuperTag:=4;


 
Palladin ©   (2008-01-25 14:44) [15]

хотя в общем то ступил ...
ну а хоть через SetPropValue смогу ? :)


 
DimaBr ©   (2008-01-25 14:44) [16]

Не компилится ! Может я что-то не понимаю ?


 
DimaBr ©   (2008-01-25 14:45) [17]

Думаю через SetPropValue тоже не выйдет, это свойство только для инспектора


 
Palladin ©   (2008-01-25 14:50) [18]

ладно... пофиг на IDE... буду компилировать компилятором... и никакое свойство ты не спрячешь от меня :)


 
DimaBr ©   (2008-01-25 14:52) [19]

Так такого свойства нет, оно только отображается в инспекторе.


 
Palladin ©   (2008-01-25 14:55) [20]

судя по [2] оно все же есть...


 
DimaBr ©   (2008-01-25 15:03) [21]

Можно например переименовать, понизить тип до TObject и спрятать в protected. Будет доступно в наследнике, но попробуй найди :)))


 
Palladin ©   (2008-01-25 15:07) [22]

ну да... хотя кому надо найдут...


 
DimaBr ©   (2008-01-25 15:10) [23]

А почему в "компонентах" эта ветка не обозначена как закрытая ?


 
Palladin ©   (2008-01-25 15:11) [24]

я так понял ее кто то перенес сюда...


 
DimaBr ©   (2008-01-25 15:27) [25]

Так а почему не закрытая ??? Перенесенные помечаются как закрытые.


 
Palladin ©   (2008-01-25 15:29) [26]

ну так закрой, сглючило видимо... бывает иногда... единственное могу сказать что переносил не я...


 
Kolan ©   (2008-01-25 15:33) [27]

Удалено модератором
Примечание: Правила читаем и уважаем


 
DimaBr ©   (2008-01-25 15:44) [28]

Не видишь, люди общаются.


 
Игорь Шевченко ©   (2008-01-25 16:28) [29]


> А почему в "компонентах" эта ветка не обозначена как закрытая
> ?


Обозначена. Это движок сайта иногда неверно показывает



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

Текущий архив: 2008.02.17;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.048 c
15-1200421621
Черный Шаман
2008-01-15 21:27
2008.02.17
Вопрос к Мастерам: как рефакторить такой код.


15-1199971931
Dmitry S
2008-01-10 16:32
2008.02.17
Расскрыть SWF


15-1200148474
No_Dead
2008-01-12 17:34
2008.02.17
Вот как бы сформулировать получше?


1-1194786224
9899100
2007-11-11 16:03
2008.02.17
обработка строк текстового файла


15-1200583170
asdf
2008-01-17 18:19
2008.02.17
Кто как кодит?