AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Positionen aller Forms wiederherstellen

Ein Thema von Schwedenbitter · begonnen am 13. Jan 2010 · letzter Beitrag vom 13. Jan 2010
Antwort Antwort
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Positionen aller Forms wiederherstellen

  Alt 13. Jan 2010, 10:23
Danke für Eure Antworten / Ideen!

Spricht irgend etwas gegen meine Lösung, außer das das Laden nicht funktioniert?
Mit den 2 zusätzlichen Zeilen je Fensteraufruf könnte ich prima leben:

Delphi-Quellcode:
Function SaveWinPos(Wnd: TForm; Key: String): Boolean;
Var
   WP            : TWindowPlacement;
Begin
   Result:=False;
   WP.Length:=SizeOf(TWindowPlacement);
   GetWindowPlaceMent(Wnd.Handle, @WP);
   With TRegistry.Create(KEY_ALL_ACCESS) Do
   Try
      RootKey:=HKEY_CURRENT_USER;
      Try
         OpenKey(Key, True);
         WriteBinaryData(Wnd.Name, WP, WP.length);
         CloseKey;
         Result:=True;
      Except End;
   Finally
      Free;
   End;
End;

Function LoadWinPos(Wnd: TForm; Key: String): Boolean;
Var
   WP            : TWindowPlacement;
Begin
   Result:=False;
   WP.Length:=SizeOf(TWindowPlacement);
   With TRegistry.Create(KEY_READ) Do
   Try
      RootKey:=HKEY_CURRENT_USER;
      Try
         OpenKeyReadOnly(Key);
         ReadBinaryData(Wnd.Name, WP, WP.length);
         CloseKey;
         SetWindowPlaceMent(Wnd.Handle, @WP);
         Result:=True;
      Except End;
   Finally
      Free;
   End;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
   LoadWinPos(Form2, 'Alexander_Test');
   Form2.ShowModal;
   SaveWinPos(Form2, 'Alexander_Test');
end;
Wenn ich es so laufen lasse, dann setzt er zwar die Fensterposition. Allerdings lässt sich das Fenster dann nicht mehr bewegen und das Programm stürzt damit ab. Kann mir jemand die Ursache sagen?

Gruß und Dank, Alexander
Alex Winzer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz