brauche nochmal Hilfe
-
Das mit dem fühlen habe ich schon gemerkt, aber es weiß ja jeder was ich meine hoffe ich, ich musste auch selber lachen!
Ich öffne ja erst CKalenderDlg das ist mein Start-Dialog und dann den CNotizDlg und da laß ich mir zur Kontrolle die (leider noch leere)
MessageBox ausgeben.
-
Original erstellt von <Triplleh>:
Ich öffne ja erst CKalenderDlg das ist mein Start-Dialog und dann den CNotizDlg und da laß ich mir zur Kontrolle die (leider noch leere)
MessageBox ausgeben.Dann darfst du den Kalenderdialog nicht neu instantiieren.
Du musste deinem Notizdialog einen Zeiger auf deinen schon vorhandenen Dialog mitgeben.
-
Meinst Du das so, wenn ich das in meinem NotizDlg schreibe, bleibt alles unverändert.
CKalenderDlg pKalender;
m_strNotiz = pKalender.m_strErgebnis;
MessageBox(m_strNotiz);
-
Du hast deinen KalenderDialog als Startdialog und klickst dann auf nen Button, so dass sich der Notizdialog öffnet.
Dein Notizdialog weiß aber erstmal nichts von dem KalenderDialog.
Am einfachsten ist es wenn du es so machst:Eine Kalenderdialog-Zeiger als Membervariable in den Notizdialog einfügen.
//NotizDlg.h public: CKalenderDlg *m_pKalDlg;
Diesen dann im Konstruktor des NotizDlg mit 0 initialisieren.
CNotizDlg::CNotizDlg() { m_pKalDlg = 0; }
Und dann kannst du folgendes in deine OnButtonNotizDlg schreiben:
CNotizDlg dlg; dlg.m_pKalDlg = this; dlg.DoModal();
In OnInitDialog des Notizdialoges schreibst du dann:
if( m_pKalDlg) { m_strNotiz = m_pKalDlg->m_strDatum; MessageBox(m_strNotiz); }
-
Vielen Dank, werde es sofort ausprobieren!
-
Es funzt soweit, bis auf das beim ersten Klick nichts angezeigt wird und bei dem nächsten Klick das Datum vom vorhergehenden usw..
Ich habe für jeden Tag einen Button auf den ich Klicke, ich hoffe Du verstehst das jetzt wie ich das meine.
-
Original erstellt von <Triplleh>:
ich hoffe Du verstehst das jetzt wie ich das meine.Nee, nich wirklich.
Poste doch mal den Code deiner OnClick-Funktion(en).
-
Rufst du auch in deiner OnClick-Methode in deinem Hauptdialog auch UpdateData(TRUE) auf? Dann wird nämlich erst die Membervariable gefüllt.
-
Hab den Fehler gefunden, ich habe für die ganze Datumsermittlung und speicherung eine Funktion geschrieben und die dann bei jedem Button aufgerufen. Jetzt habe ich Deine OnKlick Funktion hinter jeden Button gelegt und es geht, vorher hatte ich diese mit in der Funktion die ich bei jeden Button aufrufe.
Das liest sich voll kompliziert, aber jetzt geht es Vielen Dank.MfG
-
Nochmal ne Möglichkeit:
Wieso nicht einfach in der OnCNotizDlg - Funktion folgendes einfügen:
CNotizDlg dlg; UpdateData(TRUE); dlg.m_strNotiz = m_strDatum; //Ich weiß nicht mehr wie deine Member //genau heißen dlg.DoModal();
und dann in OnInitialUpdate von CNotizDlg:
AfxMessageBox(m_strNotiz);
Gruß
Stalin