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;