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

Вниз

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

 
vbazik   (2002-02-26 00:56) [0]

Подскажите как в виде компонента создать объект из Tscrollbox на котором содержится 2 Timage. У меня уже клин.. Вот часть кода. Если можно поправьте

uses extCtrls,Classes,graphics,forms,controls;

type
Tmy_class = class(tGraphicControl)
private
{}
public
sc:tscrollbox;
im1,im2:timage;
constructor Create(aowner:tcomponent); override ;
end;
procedure register;
implementation

constructor tmy_class.create(aowner:tcomponent);
begin
inherited create(aowner);
sc:=tscrollbox.Create(self);
im2:=timage.Create(self);
..
end;

procedure register;
begin
registercomponents("my",[Tmy_class]);
end;
end.

Бяда заключается в том что после размещения на форме и использовании к примеру
My_class1.im2.loadfromfile(‘1.bmp’);
картинка на форме не появляется. Подскажите - в чем я не прав.
Спасибо


 
MBo ©   (2002-02-26 07:55) [1]

самое важное - чтобы объект ОТОБРАЖАЛСЯ, у него должен быть Parent
sc:=tscrollbox.Create(self);
sc.parent:=Self;
...
im2:=timage.Create(self);
im2.parent:=sc;//вероятно

А так как Parent - TWinControl, то и TMYCLASS должен быть его потомком, а не от TGRaphicControl
Скорее всего, надо его наследовать от TCustomControl


 
CyberStorm ©   (2002-02-26 08:46) [2]

MBo верно говорит, добавлю только одно:
При создании компонента в параметре конструктора Create передается указатель на его владельца т.е. так
...
im2:=timage.Create(sc);
im2.parent:=sc; указывать отдельно не обязательно


 
MBo ©   (2002-02-26 09:27) [3]

>>im2.parent:=sc; указывать отдельно не обязательно
как же так? Owner и Parent - две большие разницы.
Qwner вызовет Free для своих вассалов, но канву-то он не предоставит, и пока не указан Parent (присвоением или InsertControl), im2 будет невидим


 
Sasha9 ©   (2002-02-26 11:31) [4]

а не лучше ли сделать твой класс потомком TScrollBox а не TGraphicControl?


 
CyberStorm ©   (2002-02-26 12:01) [5]

To MBo:
глючу я после ночи за компом... :-)конечно же, ему нужно чтобы у TImage был родитель для отображения на его канве... пардон...


 
vbazik   (2002-03-01 00:17) [6]

Всем спасибо! И МВо в особенности! Все О.К. ;))))))



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
1-42999
lekseich
2002-02-22 13:11
2002.03.14
обработчик событий


1-43057
Gayrus
2002-02-26 16:12
2002.03.14
PageControl


3-42932
Juri
2002-02-14 16:12
2002.03.14
Консоль + SQL запрос


1-43021
wonder_boy
2002-02-26 12:03
2002.03.14
Декомпиляция


14-43172
Григорий Ситнин
2002-01-31 12:04
2002.03.14
Хм... Жизненное... =)