![]() |
Ist Parentform von Frame ein Modales Form?
Ich habe ein Frame, auf dem einige Buttons sind. Dieses ist entweder auf einem Modalen "oder" einem Nicht-Modalen Form plaziert. Das Frame erzeuge ich im OnCreate des Forms.
Wenn das Frame auf einem Modalen Form ist, dann möchte ich einen bestimmten Button ausblenden. Eigentlich ist es kein Problem herauszufinden, ob das Form Modal ist:
Delphi-Quellcode:
isModal := (fsModal in TForm(owner).FormState);
Wenn ich diesen Code aufrufe, wenn das Form erzeugt ist, dann ist es kein Problem. Aber... dieser Code Funktioniert nicht im Create oder Afterconstruction des Frames, da das Form "noch nicht" den Modalen Status hat. Irgendeine Idee, wie ich sonst noch im Frame herausfinden kann, ob das Form mit ShowModal aufgerufen wird? |
AW: Ist Parentform von Frame ein Modales Form?
Könnte der Ansatz funktionieren?
![]() Interessant wäre für Dich in dem Zusammenhang die Methode GetModalWindow, wenn da ein Ergebnis <> 0 herauskommt, kannst Du das Fensterhandle mit dem Deines Fensters vergleichen. [edit] Der Code ist allerdings schon etwas älter, statt der TList kannst Du auch eine generische Variante benutzen. [/edit] |
AW: Ist Parentform von Frame ein Modales Form?
Ich frag' jetzt mal, ohne wirklich Ahnung zu haben:
Du willst doch wissen, ob das Parentform modal ist, fragst aber, ob der Owner modal ist. Parent ist nicht zwingend gleich Owner. Was passiert, wenn Du Owner durch Parent ersetzt?
Delphi-Quellcode:
Klar, ggfls. muss vorher prüfen werden, ob Parent was zugewiesen wurde und wenn ja, ob das ein TForm ist.
isModal := (fsModal in TForm(Parent).FormState);
|
AW: Ist Parentform von Frame ein Modales Form?
Man könnte auch OnShow oder OnActivate vom Form auf den Frame umleiten. Das wird erst aufgerufen, nachdem
Delphi-Quellcode:
aufgerufen wird.
Include(FFormState, fsModal);
|
AW: Ist Parentform von Frame ein Modales Form?
Hi Bernau
Zitat:
Gruss Delbor |
AW: Ist Parentform von Frame ein Modales Form?
Zitat:
Delphi-Quellcode:
Wie du siehst, wird Parent erst im nächsten Befehl zugewiesen. Daher ist Parent im Create des Frames nil. Owner ist aber bekannt. Deshalb verwende ich owner.
myFrame := TMyFrame.Create(self);
myFrame.parent := self; Es ist ja auch nicht das Problem, an die Form zu kommen, auf dem das Frame sitzt. Die Form hat zu dem Zeitpunkt einfach noch nicht den Modal-Status. Das war mein Problem. |
AW: Ist Parentform von Frame ein Modales Form?
Zitat:
|
AW: Ist Parentform von Frame ein Modales Form?
Zitat:
Warum sollte ich ein Frame erzeugen, wenn es noch nicht gebraucht wird? Das Frame wird erzeugt, wenn das Form erzeugt wird, in dem es benötigt wird. Aber das ist auch nicht das Problem :wink: |
AW: Ist Parentform von Frame ein Modales Form?
Zitat:
|
AW: Ist Parentform von Frame ein Modales Form?
Dann könnte der Frame doch im Create beim Form das OnShow Event setzen und bei Bedarf auch sichern und dann hier im Event die Prüfung machen und OnShow wiederherstellen und aufrufen, falls gesetzt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 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