Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
1-1088246843
CrazyHacKeRs
2004-06-26 14:47
2004.07.11
Помогите с DHTMLEdit (Active X)


1-1088031380
sashapont
2004-06-24 02:56
2004.07.11
Как организовать правильно Drag&Drop


14-1088082641
RealRascal
2004-06-24 17:10
2004.07.11
Кто знает английский?


14-1086722980
Nic
2004-06-08 23:29
2004.07.11
Восттановление СССР?


4-1085931269
фпп
2004-05-30 19:34
2004.07.11
Можно как-нибудь определить, что программа была запущена не клика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский