Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
Delphi 11 Alexandria
|
AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden
19. Feb 2022, 17:05
Eine Option kann auch sein, die Position beim Schließen in einer Ini zu speichern und beim nächsten Start wieder zu laden. So kannst Du jederzeit leicht eine neue Position festlegen.
Funktioniert für mich super.
Delphi-Quellcode:
procedure TFormX.LoadIni;
var
IniFile: TIniFile;
begin
try
IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + IniFileName);
WindowState := wsNormal;
Position := poDesigned;
Top := IniFile.ReadInteger(IniFileName, 'Top', Top);
Left := IniFile.ReadInteger(IniFileName, 'Left', Left);
Width := IniFile.ReadInteger(IniFileName, 'Width', Width);
Height := IniFile.ReadInteger(IniFileName, 'Height', Height);
finally
FreeAndNil(IniFile);
end;
end;
procedure TFormX.SaveIni;
var
IniFile: TIniFile;
begin
try
IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + IniFileName);
IniFile.WriteInteger(IniFileName, 'Top', Top);
IniFile.WriteInteger(IniFileName, 'Left', Left);
IniFile.WriteInteger(IniFileName, 'Width', Width);
IniFile.WriteInteger(IniFileName, 'Height', Height);
finally
FreeAndNil(IniFile);
end;
end;
procedure TFormX.FormCreate(Sender: TObject);
begin
LoadIni;
end;
...
procedure TFormX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveIni;
end;
|
|
Zitat
|