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

Вниз

Как подменить объект на форме?   Найти похожие ветки 

 
ZHK ©   (2004-06-30 11:06) [0]

Не знаю, насколько я прав, но хочется. Я добавил в стандартный объект несколько своих методов. Вот так:
 TClearedTextListBox=class(TTextListBox)
   function AddDialogItem(Name:String;LibHandle:Integer=-1;DialogIndex:Integer=-1):Integer;
   function LibraryHandle(Index:Integer):Integer;
   function DialogIndex(Index:Integer):Integer;
   procedure Clear; override;
 end;


Затем положил родителя на форму, а FormCreate написал такой код:
 TextListBox1.Free;
 TextListBox1:=TClearedTextListBox.CreateParented(GroupBox2.Handle);
 TextListBox1.OnClick:=TextListBox1Click;
 TextListBox1.OnDblClick:=TextListBox1DblClick;
 TextListBox1.Align:=alClient;
 TextListBox1.Visible:=True;

Желая тем самым, чтобы объект с тем же имененем, но расширенными свойствами развернулся внутри GroupBox2. В чем я не прав?


 
ZHK ©   (2004-06-30 11:16) [1]

А получилось вот так:
 TextListBox1.Free;
 TextListBox1:=TClearedTextListBox.Create(GroupBox2);
 TextListBox1.OnClick:=TextListBox1Click;
 TextListBox1.OnDblClick:=TextListBox1DblClick;
 TextListBox1.Align:=alClient;
 TextListBox1.Visible:=True;
 GroupBox2.InsertControl(TControl(TextListBox1));


 
Sandman25 ©   (2004-06-30 11:18) [2]

GroupBox2.InsertControl(TControl(TextListBox1));

заменяется на
TextListBox1.Parent := GroupBox2


 
ZHK ©   (2004-06-30 11:20) [3]


> GroupBox2.InsertControl(TControl(TextListBox1));
>
> заменяется на
> TextListBox1.Parent := GroupBox2

А почему тогда не работает CreateParented? Ведь это, по идее, тоже самое?


 
Sandman25 ©   (2004-06-30 11:30) [4]

CreateParented не вызыает InsertControl, потому как Parent не обязан являться VCL-окном. См. справку по CreateParented


 
ZHK ©   (2004-06-30 11:52) [5]

А еще как-нибудь можно подменить объект на форме? Скажем в процессе компиляции, если его не регистрировать?


 
Sandman25 ©   (2004-06-30 12:01) [6]

[5] ZHK ©   (30.06.04 11:52)

Обычно наследника все-таки регистрируют, инсталлируют в IDE и кладут на форму.



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
14-1087725264
Igor_thief
2004-06-20 13:54
2004.07.11
GradientFill


14-1087565543
syte_ser78
2004-06-18 17:32
2004.07.11
Всех с наступающими выходными!


4-1086185977
K.o.Z
2004-06-02 18:19
2004.07.11
TOpenDialog


8-1082884490
Menel
2004-04-25 13:14
2004.07.11
Отображение окружности с выделенными точками на ней...


1-1087972744
Relaxxx
2004-06-23 10:39
2004.07.11
Как напечатать текст на бумаге в определенных координатах?