In "neueren" Delphi-Versionen ist die MainForm immer hinten.
Also nur auf die Forms der eigenen Anwendung bezogen. Auf Fremdprogramme hat es keinen Einfluß.
Wird das in Zukunft (Win8) auch so bleiben und funktioniert das auch in allen Windows-Versionen so? (vorwiegend ab Win2K/XP)
Man kann den Eingabefokus auf die MainForm geben und dennoch bleiben die ChildForms davor liegen.
Delphi-Quellcode:
// 'nen Button auf die Form und dann noch diese beiden Methoden rein
var
FormCounter: Integer = 0;
procedure TForm5.FormCreate(Sender: TObject);
begin
if (Self <> Application.MainForm) and (Application.MainForm <> nil) then begin
Inc(FormCounter);
Caption := (Owner as TForm).Caption + ' - Form' + IntToStr(FormCounter)
end else
Caption := 'MainForm';
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
(TComponentClass(ClassType).Create(Self) as TForm).Show;
end;
Grund: Wir haben ein Programm (war vorher in/bis D7 entwickelt) und dort wird noch über fsStayOnTop dafür gesorgt, daß die MainForm immer hinter den ChildForms liegt.
Leider hat fsStayOnTop einige Probleme, so daß z.B. manchmal irgendwelche Dialoge nicht sichtbar sind. Außerdem bereitet es beim Debuggen gerne mal Probleme, da die
IDE auch nicht sichbar ist.