![]() |
Mac: Form Constaint nachbilden
Hallo,
ich muss in meiner Mac-Anwendung die minimale Breite/Höhe des Hauptfensters einschränken. Unter VCL gibt es dafür die Constraints, in der FMX Form suche ich das leider vergeblich. Momentan behelfe ich mir, in dem ich das Event "OnResize" abfange:
Code:
In XE3 hat das sauber funktioniert, unter XE6 Update 1 habe ich jedoch Darstellungsfehler in der Titelzeile, die ich mit Invalidate nicht in den Griff bekomme. Geht das wirklich nicht und muss ich mit den Darstellungsfehlern leben?
If (Self.Width<FMinFormWidth) then SetBounds(Self.Left, Self.Top, FMinFormWidth, Self.Height);
If (Self.Height<FMinFormHeight) then SetBounds(Self.Left, Self.Top, Self.Width, FMinFormHeight); |
AW: Mac: Form Constaint nachbilden
Kann ich hier nicht nachvollziehen. Was sind das denn für Darstellungsfehler?
|
AW: Mac: Form Constaint nachbilden
Der Darstellungsfehler kommt nur, wenn Du ShowFullScreenIcon aktiviert hast. Ohne funktioniert es.
Folgender Workaround funktioniert. Durch ShowFullScreenIcon := true; wird die Titelzeile neu gezeichnet. Anders habe ich es nicht hinbekommen.
Code:
public
FMinFormWidth : Integer; FMinFormHeight: Integer; procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
Code:
procedure TForm.FormCreate(Sender: TObject);
begin FMinFormWidth := 400; // Oder irgendwas FMinFormHeight := 400; // end;
Code:
procedure TForm.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
var SizeChanged: Boolean; begin SizeChanged := False; if (FMinFormWidth>0) and (AWidth<FMinFormWidth) then begin AWidth := FMinFormWidth; SizeChanged := true; end; if (FMinFormHeight>0) and (AHeight<FMinFormHeight) then begin AHeight := FMinFormHeight; SizeChanged := true; end; Self.FWinService.SetWindowRect(Self, RectF(ALeft, ATop, ALeft + AWidth, ATop + AHeight)); inherited SetBounds(ALeft, ATop, AWidth, AHeight); if SizeChanged then begin Self.ShowFullScreenIcon := false; Self.ShowFullScreenIcon := true; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 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