Einzelnen Beitrag anzeigen

greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Mac: Form Constaint nachbilden

  Alt 1. Jul 2014, 23:42
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;

Geändert von greenmile ( 2. Jul 2014 um 09:16 Uhr)
  Mit Zitat antworten Zitat