Nicht Modaler Dialog wird übermalt
-
Hallo, also ich habe einen nicht modalen Dialog erstellt mit
dlg.Create(IDD_DIALOG1,this); dlg.ShowWindow();
Den Dialog habe ich als Child definiert. Wenn ich ihn nun anzeigen lassen klappt alles ohne probs der dialog ist ein Child, das problem ist wenn ich nun das fenster durch den button minimieren klein mache und dann wieder groß dann wird der dialog übermalt von den Controlls die sich im Hauptfenster befinden. Wie kann ich das unterbinden. Ich ahbe versucht in der Dialogklasse OnPaint zu überschreiben und dasnn UpdateWindow() usw aba klappt nicht der Dialog wird trotzdem noch übermalt.
Wie krieg ich dat hin????
-
Hi,
versuche es mal so:
dlg.Create(IDD_DIALOG1,this); dlg.ShowWindow(SW_SHOW);
-
Ja das mach ich schon hatte es s vergessen hier rein zu schreiben hätte ich keinen parameter bei ShowWindow angegeben dann würd ich ja uch nen fehler bekommen. Nein das ist leider keine lösung aba danke trotzdem.
-
Wo schreibste denn den Code rein? Wenn ich ein zweites Dialogfeld in einer Anwendung erstelle, eine neue Klasse dafür erstelle, dann in meiner Hauptklasse eine Instanz darauf erstelle und den Code in die OnInitDialog eintrage klappt es mit der Anzeige des zusätzlichen Dialogs. Bei mir wird nix übermalt.
-
und wird der dann als child angezeigt oder als popup bsz overlapped. Wenn ich diese flags nehem is es auch bei mir kein problem, aber ich habe ihn als child des Hauptfensters deklariert und dann wird er komischer weise übermalt. Und was machst du in OnInitDialog? Ich bilde eine Instans bzw erstelle eine Membervariable in meiner View Klasse und dann wird der dialog mit dem oberen code ertzeugt wenn ich im menü den button dazu drücke.
-
Und was machst du in OnInitDialog?
Das frag ich mich auch
Sry, hatte da voll was verwechselt. Vergiss meine oberen Beiträge.
Ich hatte mal das gleiche Problem und hab folgende Zeile in die OnPaint() Methodes des neuen Dialogs geschrieben:
CPaintDC dc(this);
Das hat völlig gereicht, nichts wird mehr übermalt. Vielleicht klappts ja auch bei dir.