Habs hinbekommen.
Hab das ShowModal rausgenommen und auch die 2 Zeilen bei "finally", da ich den Dimmeffekt ja erst ausschalten will, wenn die ladeaktion beendet ist. Die dynamisch erstellte Form geb ich dann frei wenn das Programm zu Ende geladen hat.
Delphi-Quellcode:
function TForm1.ShowModalDimmed(Form, ParentForm: TForm): TModalResult;
var
Back: TForm;
i: Byte;
begin
Back := TForm.Create(nil);
try
Back.Position := ParentForm.Position;
Back.BorderStyle := ParentForm.BorderStyle;
Back.BorderIcons := [];
Back.AlphaBlend := true;
Back.AlphaBlendValue := 0;
Back.Color := clBlack;
with ParentForm do Back.SetBounds(Left, Top, Width, Height);
Back.Show;
for i := 1 to 185 do
begin
Back.AlphaBlendValue := i;
Sleep(2);
end;
Form.Left := ParentForm.left + ((ParentForm.Width - Form.Width) div 2);
Form.Top := ParentForm.Top + ((ParentForm.Height - Form.height) div 2);
finally
Temp := Back;
end
end;
Danke