Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#11

Re: Fensterpositionen speichern?

  Alt 5. Jul 2007, 11:56
Wenn man die genannten (IMHO unnötig komplizierten) Ansätze mit dem letzten von hoika kombiniert, dann kommt so was dabei raus :

Delphi-Quellcode:
procedure Tfrm.FormShow(Sender: TObject);
var FensterIni : TIniFile;
begin
  inherited;
  try
    FensterIni := TIniFile.Create(FensterDateiName);
    Left := FensterIni.ReadInteger(Name,'Left',Left);
    Top := FensterIni.ReadInteger(Name,'Top',Top);
  finally
    FensterIni.Free;
  end;
end;

procedure Tfrm.FormClose(Sender: TObject;
  var Action: TCloseAction);
var FensterIni : TIniFile;
begin
  inherited;
  try
    FensterIni := TIniFile.Create(FensterDateiName);
    if not CDstart then begin // auf CD kann nicht gespeichert werden !
      FensterIni.WriteInteger(Name,'Left',Left);
      FensterIni.WriteInteger(Name,'Top',Top);
    end;
  finally
    FensterIni.Free;
  end;
  Action := caFree;
end;
Der Benutzer verschiebt die Forms nach Lust und Laune und die letzten Koordinaten werden immer im OnClose abgespeichert. Er wird sie also wieder genau dort auffinden, wo er sie hingeschoben hat. Um die paar Zeilen nun aber nicht jedesmal neu schreiben zu müssen schiebt man eine Basisform am Besten in die Objektablage und benutzt da dann bei new -> Forms -> Others "inherited". Das ist in etwa das, was hoika von Hand unnötig simuliert.

Edit : sehe gerade, die umständliche "hoika-Methode" bezieht sich auf alte Forms. Da muss mans wohl so umständlich machen. Besser ist, alles was gewisse Forms betrifft direkt in ein Basis-Form zu packen. Bei mir ist da alles drin. Auch Tastatur-Routinen etc.
Gruß
Hansa
  Mit Zitat antworten Zitat