Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Динамическая форма и ее свойства


Автор: MacTep 4.10.2007, 15:30
Есть код:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure Click111(Sender: TObject);
  public
    { Public declarations }
  end;


var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Click111(Sender: TObject);
begin
  Width := Width + 5;
end;

procedure TForm1.Button1Click(Sender: TObject);
var frm: TForm;
    btn: TButton;
begin
  frm := TForm.Create(nil);
  frm.Width := 300;
  frm.Height := 200;
  frm.Left := 400;
  frm.Top := 300;

  btn := TButton.Create(frm);
  btn.Parent := frm;
  btn.Width := 75;
  btn.Height := 25;
  btn.left := 100;
  btn.top := 100;
  btn.Caption := 'Привет';
  btn.OnClick := Click111;

  frm.ShowModal;

  frm.Free;
end;

end.
Как сделать, чтобы обработчик нажатия кнопки на динамической форме изменял ширину самой динамической формы, а не формы, которая является его паретном.

Автор: DonPager 4.10.2007, 15:55
в обротчике обращайся к  паренту сендера (т/е к твоей новой форме)

Добавлено через 2 минуты и 13 секунд
Код

OnClick111(Sender :Tobject);
begin
with (Sender as TWinControl).Parent do begin
 width := 100;
end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)