Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Positionierung/Verankerung von Buttons usw.
GuaAck - Mi 15.01.14 23:09
Titel: Positionierung/Verankerung von Buttons usw.
Liebe Experten,
ich kämpfe (und umschiffe) seit laengerer Zeit folgendes Problem:
Ein Button (oder was sonst) soll in der linken unteren Ecke meines MainForms sein. Ich habe für den Button den Anchor auf left/bottom gesetzt. Das mainform wird mit windowsstate = wsnormal gestartet. Wenn ich dann oben rechts im Fenster das Maximizefeld anclicke, dann gibt es das Vollbild mit dem Button unten links, bestens.
Wenn ich aber gleich mit Vollbild starten will, also im Delphi Objectinspector windowsstate=wsmaximized setze, dann ist der Button nicht mehr am Rand.
Ich finde schon Work-Arounds, aber wie macht man das richtig?
Grüße GuaAck
Delete - Mi 15.01.14 23:25
Liegt vielleicht an der Taskleiste..
Es macht einen Unterschied, ob die Creationphase des Fensters schon vorbei ist.
Vielleicht so:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.FormShow(Sender: TObject); begin Form1.WindowState:= wsMaximized; end; |
Oder so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| function getHeightOfTaskBar : integer; var hTaskBar:HWND; rect : TRect; begin hTaskbar := FindWindow('Shell_TrayWnd', Nil); if hTaskBar<>0 then GetWindowRect(hTaskBar, rect);
Result:=rect.bottom - rect.top; end;
procedure Maximizer; begin if Form1.WindowState=wsNormal then begin Form1.WindowState:=wsMaximized; Form1.SetBounds(0,0,screen.Width,screen.Height-getHeightOfTaskBar); end else begin Form1.WindowState:=wsNormal; end;
end; |
jaenicke - Mi 15.01.14 23:58
Wenn das bei dir nicht geht, ist das ein Fehler in deiner Delphiversion. Bis Delphi 7 gab es an der Stelle ja immer wieder Probleme durch solche Fehler...
Ein Beispiel, in XE5 kompiliert, liegt inkl. Quelltext im Anhang.
GuaAck - Do 16.01.14 20:33
Danke,
einfach vor dem typischen Application.Run ein Form1.windowsstate :=wsmaximized, und nun geht es prima.
Gruß
GuaAck
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!