Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать класс или объект. [D7, XP]


vegarulez ©   (2015-09-10 10:22:00) 

Добрый день мастера!
Вопрос такой - мне надо сделать свой класс или объект не знаю как правильно это назвать. Объясню что я хочу - нужена панель в которой будут лэйблы, картинки и кнопка , и соотвественно я хочу формировать этот объект в основе тпанел в котором будут лэйблы и картинки и кнопка динамически. ну грбуо говоря MyClass.Create('название лэбла 1', 'caption буттона', и т.д. - все остальные параметры которые я хочу передавать при создании).

Поделитесь ссылкой где это почитать? И как это правильно называется?


DimaBr   (2015-09-17 07:51:00) [1]

Это называется "Динамическое создание компонент" и выглядит примерно так

TMyPanel = class(TPanel)
 private
   Labels: array of TLabel;
 public
   constructor Create(AOwner: TComponent; Data: array of string); reintroduce;
end;

constructor TMyPanel.Create(AOwner: TComponent; Data: array of string);
var i: integer;
begin
 inherited Create(AOwner);
 SetLength(Labels,Length(Data));
 for i := 0 to High(Data) do begin
   Labels[i] := TLabel.Create(self);
   Labels[i].Parent := self;
   Labels[i].Caption := Data[i];
   Labels[i].Top := i * 20;
 end;
end;


Теперь пробуем создать
procedure TForm1.FormCreate(Sender: TObject);
begin
 with TMyPanel.Create(self,['Метка №1','Метка №2','Метка №3','Метка №4']) do begin
   Parent := self;
   Height := 200;
   Left := 100;
 end;
end;


sniknik   (2015-09-10 12:49:00) [2]

File-> New->Frame


DVM   (2015-09-10 10:29:00) [3]

Вероятно тебе нужно сделать наследника от TPanel


vegarulez   (2015-09-10 10:25:00) [4]

*Объясню что я хочу - нужен Тпанел в котором...


Наверх

Титульная страница Поиск, карта сайта Написать письмо