![]() |
MainForm immer hinten?
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:
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.
// '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; 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. |
AW: MainForm immer hinten?
Zitat:
XE/XE2-Programme laufen soweit ich weiß eh nur ab Win2K oder gar XP. |
AW: MainForm immer hinten?
Zitat:
Zitat:
|
AW: MainForm immer hinten?
Aktuell haben unsere Kunden wohl vorwiegend XEP und Win7.
Im Windows Server 2008 mit XE konnte ich das auch soweit bestätigen. Im Prinzip ist es ja genau das Verhalten, welches für uns nötig ist. Das "as designed" wäre somit vollkommen OK. :thumb: Wäre nur blöd, wenn man ein Programm nun umbaut, da es jetzt ja nativ geht und dann geht es in XE3, in einer 64 Bit-App oder in Win8 plötzlich nicht mehr. :? |
AW: MainForm immer hinten?
Zitat:
|
AW: MainForm immer hinten?
Die Reihenfolge von "gestapelten" Fenstern kann man doch seit einigen Versionen mit
Delphi-Quellcode:
kontrollieren und Einfluss darauf nehmen. Damit sollte das Verhalten von himitsu abbildbar sein.
Form.PopupParent
|
AW: MainForm immer hinten?
Bei dem Namen PopupParent wäre ich nie auf sowas hier gekommen. :shock:
Aber sieht gut aus. :thumb: |
AW: MainForm immer hinten?
ich habe auch festgestellt, das die neuen dialogforms diese probleme scheinbar nicht mehr haben.
TTaskMessageDialog. die klassische CreateMessageDialog funktion verursacht diverse effekte. und in Dialogs.MessageDlg wird ja automatisch die neue TaskMessageDialog aufgerufen, insofern man Windows Vista ff verwendet. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz