Показать сообщение отдельно
  #14  
Старый 19.06.2011, 22:46
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Код:
type
  TMyForm = class(TForm)
  private
    procedure MyClick(Sender: TObject);
  public
    constructor CreateNew(AOwner: TComponent); reintroduce;
  end;

...

constructor TMyForm.CreateNew(AOwner: TComponent);
var
  NonClientMetrics: TNonClientMetrics;
begin
  inherited CreateNew(AOwner);
  NonClientMetrics.cbSize := sizeof(NonClientMetrics);
  if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @NonClientMetrics, 0) then
    Font.Handle := CreateFontIndirect(NonClientMetrics.lfMessageFont);
end;

procedure TMyForm.MyClick(Sender: TObject);
begin
  ShowMessage('Ух как жмякнули');
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  Form : TMyForm;
  btn  : TButton;
begin
  Form := TMyForm.CreateNew(Application);
  try
    Form.Caption:= 'qwerty';
    Form.Height := 200;
    Form.Width  := 400;
    Form.Top    := 10;
    Form.Left   := 10;
    btn := TButton.Create(Form);
    btn.Caption := 'Жмякни';
    btn.Top     := 100;
    btn.Left    := 100;
    btn.Width   := 80;
    btn.Height  := 25;
    btn.Parent  := Form;
    btn.OnClick := TMyForm(Form).MyClick;
    Form.ShowModal;
  finally
    Form.Free;
  end;
end;
Ответить с цитированием