Такой вот 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-файле, но, вероятно, уже думали над этим. |