Позиционирование динамически создаваемой формы

Такой вот How-To я нашел в Интернете:

unit Runtime1;  { How-To 1.6 }

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;

type

TNewForm = class(TForm)
NewEdit: TEdit;
NewButton: TButton;
procedure NewButtonClick(Sender: TObject);
end;

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

var
Form1: TForm1;

implementation

{$R *.DFM}

{ Обработчик OnClick для генерируемых форм }
procedure TNewForm.NewButtonClick(Sender: TObject);
begin
NewEdit.Text := 'Привет!';
end;

{ Генерируем и показываем форму }
procedure TForm1.Button1Click(Sender: TObject);
var
NewForm: TNewForm;
begin
{ С>
NewForm := TNewForm.CreateNew(Application);
{ Устанавливаем ее свойства }
with NewForm do
begin
Top := 140;
Left := 220;
Width := 435;
Height := 300;
Caption := 'Работает!';
{ Создаем новый Edit-компонент }
NewEdit := TEdit.Create(NewForm);
{ Устанавливаем его свойства }
with NewEdit do
begin
Parent := NewForm;
Left := 153;
Top := 40;
Width := 121;
Height := 29;
TabOrder := 1;
Text := 'Edit1';
end;
{ Создаем новый компонент-кнопку }
NewButton := TButton.Create(NewForm);
{ Устанавливаем его свойства }
with NewButton do
begin
Parent := NewForm;
Left := 153;
Top := 176;
Width := 121;
Height := 33;
TabOrder := 0;
Caption := 'Изменение Edit';
{ Делегируем компоненту обработчик OnClick }
OnClick := NewButtonClick;
end;
Show;
end;
end; end.

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

Другой возможностью является хранение значений координат в Ini-файле, но, вероятно, уже думали над этим.

 
« Предыдущая статья   Следующая статья »