Nonmodal Dialog doppeltes Öffnen verhindern
-
Ich rufe einen nichtmodalen Dialog aus meinem Hauptdialog auf.
Nun möchte ich prüfen ob der nichtmodale bereits offen ist,
damit er nicht nochmals geöffnet wird.Das versuche ich so:
if(CWnd::FindWindow(NULL,"testdialog 2")!=NULL){ MessageBox("ist bereits offen"); }else{ MessageBox("ist noch nicht / nicht mehr offen"); Pro* m_pMyDlgPtr; m_pMyDlgPtr = new Pro; m_pMyDlgPtr->Create(IDD_DIALOG2); m_pMyDlgPtr->ShowWindow(SW_SHOWNORMAL); }
Es wird erkannt dass der Dialog beim ersten anklicken noch nicht offen ist.
Der Dialog wird dann geöffnet. Schließe ich jetzt den nichtmodalen Dialog
und klicke dann erneut auf den Button um ihn wieder zu öffnen, dann sagt
mir mein Programm, dass der Dialog noch offen istIch dachte durch FindWindow würde meine Anwendung mitbekommen, dass
der nichtmodale schon geschlossen ist und ihn wieder öffnen ?
-
Das gleiche Problem hatte ich gestern auch:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-121353.html
so hab ichs dann gelöst
-
Danke, denke jetzt habe ich es