Советы по Delphi

         

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


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



Содержание раздела