Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

MainForm immer hinten?

  Alt 12. Feb 2012, 14:00
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.
$2B or not $2B

Geändert von himitsu (12. Feb 2012 um 14:32 Uhr)
  Mit Zitat antworten Zitat