Nicht modaler Dialog als Child vom MainFrame bleibt disabled

Skandalos

Grünschnabel
Also ich erzeuge einen nicht modalen Dialog als Child vom MainFrame. Der Dialog wird sichtbar, bleibt aber disabled und läßt sich durch anklicken auch nicht enablen. Wenn ich denselben Dialog als PopUp oder Overlapped öffne, funktioniert alles, nur will ich halt, daß der Dialog innerhalb des MainFrame bleibt.

Ich hab schon alle assi-generierten sources rauf und runter durchsucht nach einer Stelle, wo der Dialog von etwas anderem transparentem überlappt werden könnte, hab aber nichts gefunden. Jemand einen Tip?

Der Dialog wird gestartet vom Dokument bei OnNewFile bzw. OnOpenFile. Der Dialog soll praktisch die View des Dokuments sein, eine andere View existiert nicht. Wäre es sinnvoller den Dialog aus der View zu starten?
 
Bei MFC müsstest du das Child als Klasse "MDICLIENT" erstellen.

Ich meine, da gibt es einige Unterschiede im Handling zwischen MDI-Fenstern und "richtigen" Child-Dialogen.
 
Das wäre ne Lösung, wenns ne MDI Anwendung wäre. Ich will das Hauptfenster nur für diesen einen Dialog verwenden, er soll zudem das Hauptfenster komplett füllen und unverschlieblich sein. Am liebsten würde ich ihn daher gleich zusammen mit dem MainFrame erzeugen, aber ich hab kein Event gefunden, was NACH Darstellung des MainFrame aber VOR der ersten Benutzerinteraktion stattfindet. Und nach wie vor hab ich das Problem, daß der Dialog disabled ist.

Da muß doch was transparentes drüber liegen oder gibts da noch ne andere mögliche Ursache?
 
Hab jetzt mal in CMainFrame::OnUpdateFrames ein CDialog->EnableWindow(true); eingebaut. Trotzdem bleibt der Dialog disabled. Anscheinend disabled MainFrame seine Kinder aus Prinzip. Oder welche Gründe könnte es noch haben, daß ein sichtbarer Dialog sich nicht enablen läßt?

Außerdem hab ich zuletzt mit einem mini-Testdialog rumexperimentiert um andere Fehlerquellenauszuschließen. Lustigerweise wird dieser Testdialog noch nicht mal angezeigt. Ich kann zwar zur Laufzeit zusätzliche Controls darauf erzeugen, die dann auch sichtbar werden, doch der originale Dialog wurde vom Weiß des MainFrame-Hintergrundes überlagert.
 

Neue Beiträge

Zurück