Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TForm Position und Größe beim beenden speichern (https://www.delphipraxis.net/43621-tform-position-und-groesse-beim-beenden-speichern.html)

Sven Janssen 6. Apr 2005 15:52


TForm Position und Größe beim beenden speichern
 
Moin,

gibt es die Möglichkeit beim beenden Fenstergröße und Position zu speichern und beim öffnen vom Programm diese wieder zu laden?
Selber schreiben ist zwar kein Problem, aber wäre ja nett wenn Windows/Delphi schon etwas dafür bereit stellt.

btw. Damit meine ich nicht das Fenster als Stream auf die Platte zu speichern. Sondern lediglich 4 Werte für Origin.x Origin.y Size.width und Size.height zu speichern.

Gruß Sven

Luckie 6. Apr 2005 15:55

Re: TForm Position und Größe beim beenden speichern
 
Sas musst du wohl selbermachen. Aber mit Ini-Dateien ist das in einer minute erledigt. Aber denkdran, dass du sie im Homedir des Anwenders unter APPDATA ablegst,

Sven Janssen 6. Apr 2005 16:33

Re: TForm Position und Größe beim beenden speichern
 
Wie ini Dateien? So Userfreundlich?
Ich schreib die in die Registry ;-)
Ne Spaß bei Seite. Ich hab das ganze schon einmal geschrieben und das in die Registry geschrieben. Hier die Geschichte, da ich sie selber schreiben muss, kommt eh auf den Server.
Nur Schade das Windows keinen Standardisierten Weg anbietet.

Danke für die schnelle Antwort.

Gruß Sven

Hansa 6. Apr 2005 16:47

Re: TForm Position und Größe beim beenden speichern
 
mit den INIs geht das so :

Delphi-Quellcode:
procedure TfrmKey.FormShow(Sender: TObject);
var FensterIni : TIniFile;
begin
  inherited;
  try
    FensterIni := TIniFile.Create(ExtractFilePath (ParamStr (0))+'FENSTER.INI');
    Left := FensterIni.ReadInteger(Name,'Left',Left);
    Top := FensterIni.ReadInteger(Name,'Top',Top);
  finally
    FensterIni.Free;
  end;
end;

procedure TfrmKey.FormClose(Sender: TObject; var Action: TCloseAction);
var FensterIni : TIniFile;
begin
  try
    FensterIni := TIniFile.Create(ExtractFilePath (ParamStr (0))+'FENSTER.INI');
    FensterIni.WriteInteger(Name,'Left',Left);
    FensterIni.WriteInteger(Name,'Top',Top);
  finally
    FensterIni.Free;
  end;
  Action := caFree;
end;
Ich empfehle allerdings wie immer, das ganze in die Objektablage zu speichern und nicht mehr eine neue Form zu erstellen, sondern die eigene aus der Objektablage zu verwenden. Dann sind diese Sachen nämlich schon automatisch mit drin, ohne was zu ändern. Und das für jede davon abgeleitete Form :!: Ich weiß, es nützt wohl nichts. 8)

Sven Janssen 6. Apr 2005 18:02

Re: TForm Position und Größe beim beenden speichern
 
Danke.
Nur wie ich schon schrieb, ich hab das ganze schon geschrieben.
Ich wollte nur wissen ob es direkt eine Funktion in den WinAPIs gibt.

und ja ich weiß wie man mit INI Files umgeht ;-)

Gruß Sven

Hansa 6. Apr 2005 18:26

Re: TForm Position und Größe beim beenden speichern
 
Zitat:

Zitat von Sven Janssen
...und ja ich weiß wie man mit INI Files umgeht ;-)

Mit einer ? Oder auch mit mehreren in einem größeren Projekt ? Oder sogar so, wie ich es mache mit einer INI für beliebig viele Fenster im Project mit Vererbung, rechnerunabhängig ? Nun denn, egal. Wird wohl nichts nützen, mehr zu sagen. Den Ansatz habe ich gezeigt. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz