Hmmm..
Delphi-Quellcode:
Function TMyFormDataModule.LoadFormPos (Form : TForm);
Begin
// Damit die Position nur 1x gesetzt wird.
If Form.Tag=1 then Exit;
Form.Tag := 1;
FormPosition.Active := False;
// FormPosition.SQL := 'select * from FormPositionen '
// +'where UserName = :UserName and FormName = :FormName';
FormPosition.Parameters.ParamByName['UserName'] := Self.TheUserName;
FormPosition.Parameters.ParamByName['FormName'] := Form.Name;
FormPosition.Open;
If FormPosition.IsEmpty then Exit;
Form.Left := FormPosition['Left'];
Form.Top := FormPosition['Top'];
Form.Width := FormPosition['Width'];
Form.Height := FormPosition['Height'];
DemandFormOnScreen(Form); // Stellt sicher, das das Formular sichtbar ist.
End;
Abspeichern geht dann analog.
In jedem Formular...
Delphi-Quellcode:
Procedure TMyForm.FormActivate(Sender : TObject);
Begin
MyFormDataModule.LoadFormPos (Self);
End;
Getippt und nicht getestet, sollte aber so oder ähnlich laufen.