Имя пользователя:
Пароль:
 

Название темы: Delphi создание объекта
Показать сообщение отдельно
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата:
а также с полями вышестоящих
выше - это где? рассказываю как понял вопрос:
Код: Выделить весь код
type TButtonBox = class (TPanel)
private
  flastClicked: TButton;
  procedure onButtonClick(sender: TObject);
public
  procedure addButton(name: string; rect: TRect);
end;

procedure TButtonBox.addButton(name: string; rect: TRect)
var button1: TButton;
begin
  button1 := Tbutton.Create(self);
  button1.left := rect.left;
  button1.top := rect.top;
  button1.width := rect.right-rect.left;
  button1.height := rect.bottom-rect.top;
  button1.caption := name;
  button1.onClick = self.onButtonClick; // будет вызвано, причём от имени екземпляра self
end;

procedure TButtonBox.onButtonClick(sender: TObject)
begin
  // используем поля TButtonBox
  flastClicked := TButton(sender);
end;
это только пример, он не будет работать, так как не указаны конструкторы класса TButtonBox. Не забудьте дописать всё необходимое перед компиляцией.
По сути Delphi строит каждый TForm1 как раз таким образом, основываясь на данных в описании формы (текстовый файл, который хранится прямо в экзешнике).

Отправлено: 22:04, 28-02-2007 | #4

Название темы: Delphi создание объекта