Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
ВнизООП - Как создать собственный объект для формы? Найти похожие ветки
← →
Doctor DOOM (2006-01-26 07:47) [0]Добрый день дорогие товарищи. Я новенький. Разбираюсь.
Итак задача: Требуется создать объект, который будет включать в себя TImage, TEdit, TLabel, TButton; Для экспериментов сделал пока только TLabel. Остальное буду делать по аналогии. Таких объектов может быть заранее неизвестное множество.
Вопрос: как сделать так, что бы мой объект стал, виден на форме:
До чего дочитался, и что делаю:
Главная форма:
type
TFMain = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
lab: TAutoMobile;
end;
var FMain: TFMain;
procedure TFMain.FormCreate(Sender: TObject);
begin
Auto:=TAutoMobile.Create(fmain); // Auto как я понимаю и есть объект класса TAutoMobile ??? Родителем данного объекта будет моя форма FMain?
end;
Здесь я не совсем еще разобрался, в чем разница между.
TAutoMobile.Create(fmain)
и
TAutoMobile.Create(self)
Кто может, поясните доходчиво, пожалуйста. А то в книжках, статьях, как-то все расплывчато, понять ни как не могу. Лучше на пальцах [с примером]. Извиняюсь за даунизм.
Далее в отдельном Unit создаю класс, где описываю все, что данный объект должен уметь делать а также все его свойства и методы.
TAutoMobile=class(TCustomControl)
LabelDriver : TLabel;
public
constructor Create(AOwner:TComponent); virtual;
end;
implementation
constructor TAutoMobile.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
LabelDriver:=TLabel.Create(Self);
LabelDriver.Caption :="123";
LabelDriver.Parent :=self;// вот тут как раз и вопрос. Почему вылетает ошибка?
// либо как правильно сделать, так что бы объект стал, виден на форме? (FMain).
end;
А может, есть на много проще вариант решения данного вопрос.
← →
beglec © (2006-01-26 07:49) [1]корректировка
lab=Auto
← →
MBo © (2006-01-26 08:10) [2]Обрати внимание на фреймы (TFrame)
← →
beglec © (2006-01-26 08:46) [3]уже. Прикольная штука.
← →
beglec © (2006-01-26 08:46) [4]спасибо доктор доом - твой вопрос помог самому разобраться что к чему :)
← →
Сайбель Алексей © (2006-01-26 09:46) [5]Если это просто TImage, TEdit, TLabel, TButton посмотри в сторону Templates (Component -> Create Component Template...)
← →
Плохиш © (2006-01-26 11:56) [6]
> Здесь я не совсем еще разобрался, в чем разница между.
>
> TAutoMobile.Create(fmain)
Все созданные таким способом объекты будут принадлежать конкретному экземпляру формы или никому. Этот способ является 100% созданием глючных (неработоспособных) программ, советую забыть его как страшный сон.
> TAutoMobile.Create(self)
Созданный объект принадлежит тому экземпляру формы, в для которого он и создавался.
Также имеется свойство Parent, которое указывает объект, отвечающий за отображение, создаваемого.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c