Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden

  Alt 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;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat