AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Wie kann man Fenster von eigener Extension in layout speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann man Fenster von eigener Extension in layout speichern

Ein Thema von mattia72 · begonnen am 24. Mai 2024 · letzter Beitrag vom 28. Mai 2024
Antwort Antwort
mattia72

Registriert seit: 18. Aug 2023
Ort: Ungarn, Pest
6 Beiträge
 
#1

Wie kann man Fenster von eigener Extension in layout speichern

  Alt 24. Mai 2024, 14:14
Hallo zusammen,

ich habe ein INTACustomDockableForm (https://www.delphipraxis.net/1534720-post8.html)
Es sind zwei Prozeduren in dem Interface, die zum Speichern und Laden benutzt werden können. Die habe ich grob so implementiert:
Delphi-Quellcode:
    
...
procedure TRipGrepperDockableForm.SaveWindowState(Desktop : TCustomIniFile; const Section : string; IsProject : Boolean);
var
   wp : TWindowPlacement;
begin
   TDebugUtils.DebugMessage(Format('TRipGrepperDockableForm.SaveWindowState: %s [%s] IsProject:%s',
      [Desktop.FileName, Section, BoolToStr(IsProject, True)]));
   wp.length := Sizeof(wp);
   GetWindowPlacement(form.handle, @wp);
   var
   pos := wp.rcNormalPosition;
   Desktop.WriteInteger(section, sLeft, pos.Left);
   Desktop.WriteInteger(section, sTop, pos.Top);
   Desktop.WriteInteger(section, sWidth, pos.Right - pos.Left);
   Desktop.WriteInteger(section, sHeight, pos.Bottom - pos.Top);
   Desktop.WriteString(section, sState, GetEnumName(TypeInfo(TWindowState), Ord(form.WindowState)));
end;
procedure TRipGrepperDockableForm.LoadWindowState(Desktop : TCustomIniFile; const Section : string);
var
   L, T, W, H : Integer;
begin
   TDebugUtils.DebugMessage('TRipGrepperDockableForm.LoadWindowState: ' + Desktop.FileName + '[' + Section + ']');

   L := Desktop.ReadInteger(section, sLeft, form.Left);
   T := Desktop.ReadInteger(section, sTop, form.Top);
   W := Desktop.ReadInteger(section, sWidth, form.Width);
   H := Desktop.ReadInteger(section, sHeight, form.Height);
   form.SetBounds(L, T, W, H);
   try
      form.Windowstate := TWindowState(GetEnumValue(TypeInfo(TWindowState), Desktop.ReadString(section, sState, 'wsNormal')));
   except
   end;

end;
Save wird ordentlich angerufen, wenn ich die IDE schließe, load aber nicht.
Wie kann ich das Fenster von meiner Extension auch in Layout speichern damit es immer auftaucht, wenn ich das Layout lade?
  Mit Zitat antworten Zitat
mattia72

Registriert seit: 18. Aug 2023
Ort: Ungarn, Pest
6 Beiträge
 
#2

AW: Wie kann man Fenster von eigener Extension in layout speichern

  Alt 28. Mai 2024, 13:31
Falls jemand das gleiche Problem hat:
https://stackoverflow.com/questions/...-delphi-layout
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
552 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wie kann man Fenster von eigener Extension in layout speichern

  Alt 28. Mai 2024, 14:28
Uwe sollte seinen Kommentar als Antwort geben, damit sie akzeptiert werden kann.
  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 22:35 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