Dialog aus Dialog aus Dialog
-
Hallo an alle,
kann ich ich habe Dialog 1 bei Anwerfen einer Methode öffnet sich Dialog zwei. Aus Dialog zwei heraus möchte ich jetzt einen weiteren Dialog aufrufen. Besteht hier überhaupt die Möglichkeit dies zu machen? Denn der dritte Dialog wird gar nicht mehr angesprochen. Am Code des dritten dialogs kann es nicht liegen, der hat nämlich schon in der Arbeit mit noch zwei Dialogen funktioniert. Gibt hier eine Feinheit die unbedingt beachtet werden muss?
MfG
CrazyP
-
Hallo
das Verfahren ist einfach: Man stellt eine eigene Dialog-Klasse, abgeleitet von CDialog, für ein! Dialog her. In der dann auch andere Dialoge aufgerufen werden können. Wichtig für jeden Dialog muß eine eigene Klasse, die von CDialog abgeleitet ist hergestellt werden. Mehrere Dialoge in einer Klasse rufen ist nicht möglich. Des weiteren ist es wichtig das man den Zweiger des jeweiligen Elternfensters bzw. Dialoges mitgibt. Siehe Beispiel:
class ErsterDialog : public CDialog
{
...
public:
ErsterDialog();
~ErsterDialog();BOOL BuildDialog(CWnd *p_ParentWindow);
...privat:
afx_msg OnButtonNeuerDialog();
...
};class ZweiterDialog : public CDialog
{};
BOOL ErsterDialog::BuildDialog(CWnd *p_ParentWindow)
{
...Create(IDD_ERSTER_DIALOG, mp_ParentWindow);
...
}
void ErsterDialog::OnButtonNeuerDialog()
{
ZweiterDialog dlgZD;dlgZD.BuildDialog(this);
}