Variablen einer anderen Klasse übergeben



  • Hallo zusammen.
    Also ich habe ein Problem.
    Ich habe ein SDI Dokument. Dort habe ich ein Dialog angelegt der auch eine eigene Klasse hat und dort 2 membervariablen erstelle. (m_strMax, m_strAnzahl)
    Diese werden dort im Dialog auch eingelesen.

    Diese will ich aber in der View weiter benutzen, weil dort was damit ausgerechnet werden soll und dann auf dem Bildschirm gezeichnet werden soll.

    Den Dialog ruf ich auch in der View per DoModal(); auf.

    Aber wie bekomm ich jetzt die 2 Variablen von der CDialog nach CView?



  • Hallo...

    ich hoffe ich habe dich richtig verstanden.

    CDialog1::OnButton1()
    {
      CDialog2 dlg;
      CString transferVariable;
    
      dlg.DoModel(&transferVariable);
    }
    
    CString *m_transferVariable;  // in der header datei zur klasse definiert
    
    CDialog2::DoModal(CString *transferVariable)
    {
      m_transferVariable = transferVariable;
    }
    
    CDialog2::OnButton1()
    {
      *m_transferVariable = "test";
    }
    

    Stefan



  • Wenn es Member des Dialogs sind kannst du nach
    DoModal() noch zugreifen. (C++ Grundlagen)

    CDialog2 dlg;
    dlg.DoModel(); // Dialog wird geöffnet
    // Hier geht es nach dem schließen des DLG weiter
    dlg.m_deinevar; // hier der Zugriff.

    oder Du baust Dir in der DLG-Klasse eine GETTER-Funktion wenn es eine private-var ist.


Anmelden zum Antworten