| Autor |
Beitrag |
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 18.02.06 14:58
So, jetzt hab ich mal ne einfache Frage.
Und zwar möchte ich die Größe meiner Form in einer Ini speichern. Das ist ja eigentlich ganz einfach, nämlich so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| ini.WriteBool('Fenster', 'maximiert', WindowState=wsMaximized); ini.WriteInteger('Fenster','Width',Form1.Width); ini.WriteInteger('Fenster','Height',Form1.Height); ini.WriteInteger('Fenster','Top',Form1.Top); ini.WriteInteger('Fenster','Left',Form1.Left); |
Wenn ich diese Daten dann wieder auslese, nachdem ich das Programm im maximierten Zustand beendet habe, erscheint meine Form auch dann maximiert, wenn ich den "maximiert/normal-Button" in der Titelleiste anklicke. D.h. es gibt keinen Größenunterschied zwischen maximiert und nicht maximiert. Ist ja auch klar.
Ich möchte aber die Werte speichern, die meine Form im nichtmaximierten Zustand hätte, und zwar ohne, dass man an Stelle [X] oben im Code ein WindowState := wsNormal; einfügt (das sieht beim Beenden nämlich blöd aus...).
Wie komme ich an diese Werte? Moderiert von Gausi: Topic aus VCL (Visual Component Library) verschoben am Sa 18.02.2006 um 18:07
_________________ We are, we were and will not be.
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Sa 18.02.06 16:36
was meinst du, mit "nicht-maximierten Zustand"? Den Zustand, wie du in der
Entwicklung mal festgelegt hast?
Definier die Werte die du mit "nicht-maximierten Zustand" hat im Programm.
grez
msch
_________________ ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
|
|
Gausi 
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 18.02.06 16:51
Nein, nicht die. Die könnte man ja als Default-Konstanten im Code definieren. Ich meine die Werte, die die Form annehmen würde, wenn man im maximierten Zustand auf den Knopf in der Titelleiste klickt. Ich hoffe, die Bilder machen klar, was ich meine.
Einloggen, um Attachments anzusehen!
_________________ We are, we were and will not be.
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Sa 18.02.06 17:26
Hallo,
nehme an das Du damit zu Deinem Ziel kommst
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| var PosAndSize : PWindowPlacement; L,T,R,B : Integer; begin GetMem(PosAndSize,SizeOf(TWindowPlacement)); try PosAndSize^.Length := SizeOf(TWindowPlacement); if GetWindowPlacement(Handle,PosAndSize) then begin L := PosAndSize^.rcNormalPosition.Left; T := PosAndSize^.rcNormalPosition.Top; R := PosAndSize^.rcNormalPosition.Right; B := PosAndSize^.rcNormalPosition.Bottom; end; showmessage(IntToStr(L)); finally FreeMem(PosAndSize,SizeOf(TWindowPlacement)) end | ;
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Gausi 
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 18.02.06 18:07
Jep, das ist genau das, was ich meinte. Danke!
(nur muss ich das jetzt wohl nach WinApi verschieben...  )
_________________ We are, we were and will not be.
|
|
|