2 Nichtmodale Dialoge "jonglieren"
-
Hallo zusammen...
Bei diesem Problem bin ich schon n weilchen am tüfteln...Habs aber leider noch nicht rausgekriegt...
Folgendes: Ich habe eine SDI App erstellt und von CFormView abgeleitet. Nun erzeuge ich in der View Klasse ein Dialogfeld NICHT MODAL und erzeuge aus diesem dann nochmals ein zweites NICHT MODALES Dialogfeld, welches die exakte Grösse von Dialogfeld 1 besitzt und dieses eine Zeitlang überdecken soll...
Unter Stile in den Dialogeigenschaften der beiden Nichtmodalen Dialogfelder wähle ich jeweils "Untergeordnet".Das erste Dialogfeld wird korrekt angezeigt, während es beim zweiten dann ziemlich chaosmässig ausschaut...(Elemente vom alten Dialogfeld bleiben bestehen, etc...) Ich habe bereits versucht, das Dialogfeld 1 zu "verstecken" (ShowWindow(SW_HIDE)), das klappt jedoch nicht, da dann Dialogfeld 2 auch gleich weg ist...
Frage: Wie könnte ich das Problem auch noch lösen??
Hier noch etwas Code:
//Dialogfeld 1, erzeugt in der View Klasse m_dlgPCTL = new CDlgPCTL(this); m_dlgPCTL->Create(IDD_DLGPCTL,this); m_dlgPCTL->SetWindowPos(&CWnd::wndTop,x,y,240,334,NULL); m_dlgPCTL->SetDlgItemText(IDC_SPTITEL,Wintitel); m_dlgPCTL->ShowWindow(SW_SHOW); //Ausgabedialogfeld erzeugen, innerhalb der CDlgPCTL Klasse m_dlgPASW = new CDlgPASW(this); m_dlgPASW->Create(IDD_DLGPASW,this); m_dlgPASW->SetWindowPos(&CWnd::wndTop,x,y,240,334,NULL); m_dlgPASW->SetDlgItemText(IDC_SATITEL,lpbez); m_dlgPASW->ShowWindow(SW_SHOW);
Hoffe das hilft noch ein wenig....Thanx
Gruzz Danny
-
Hallo, nochmals ich...
Ich habe mal ein wenig weitergetüftelt... Sehrwarscheinlich muss ich da konzeptionell was ändern...
Ich erzeuge in der Hauptapplikation das Dialogfenster 1, das Dialogfenster 2 wird dann als Child von Dialogfenster 1 erzeugt...Das Problem hier ist folgendes: Wenn ich nun irgendwas mit dem Parent anstelle, es zum Beispiel "verstecke", dann geschieht dies ebenfalls auch mit dem Child Dialog....
Ich habe mich nun mal in der MSDN Schlau gemacht und da gibt's eine Methode, welche sich SetParent nennt...Mit dieser lässt sich angeblich dem Child ein neuer Parent zuweisen.
Ich versuche dies mal. Vielleicht bringts ja was. Hat vielleicht sonst noch jemand eine Idee?
Gruz Danny
-
Warum machst du Dialog 2 als Child? Mach doch als nicht-modales Fenster.
-
Ich erzeuge den 2. Dialog ja als nicht modal...Wenn ich den Dialog unter Stil auf Kontextmenu setze, dann geht's. ABER: Der Dialog bleibt an der spezifischen Position stehen, auch wenn ich zum Beispiel das MainFrame verschiebe. Und das Problem hätte ich nicht, wenn ich als Stil untergeordnet wähle. Aber irgendwie kann ich nicht dem ersten Dialog UND dem 2.Dialog den Stil untergeordnet geben...Wenn ich das mache, ist Dialog 2 abhängig vom Erzeuger Dialog 1, auch wenn Dialog 2 nicht modal ist...
Gruz Danny