Problem: Pointer von Dialog an anderen Dialog weiter reichen



  • Habe folgendes Problem

    Ich erstelle ein Pointer auf CDialog (erstelle ich um mit TabControl arbeiten zukönnen)

    *.h File:
    CDialog* m_tabellenSeite[2];
    
    *.cpp File:
    m_tabellenSeite[0]=new CDlgTest;
    m_tabellenSeite[0]->Create(IDD_TEST, this);
    m_tabellenSeite[0]->ShowWindow(SW_HIDE);
    
    m_tabellenSeite[1] .... usw.
    

    Nun habe ich in der Klasse CDlgTest die zum Dialog IDD_TEST gehört eine funktion erstellt (SetDlgTest2Pointer) um den Pointer von DlgTest2 in DlgTest benutzen zukönnen..

    also versuche ich gleich nach dem m_tabellenSeite[0]->ShowWindow(SW_HIDE); folgendes:

    m_tabellenSeite[0]->SetDlgTest2Pointer();
    

    was aber nicht funktioniert, da er die Funktion nicht kennt.
    Müsste er diese aber nicht eigentlich kennen da ich

    m_tabellenSeite[0]=new CDlgTest; <- das mache?

    wie schaffe ich es, das er die Funktion kennt, bzw. wie schaffe ich es einen Pointer des Dialoges in einen anderen zubekommen, um auf den Dialog zugreifen zukönnen?? 😕

    Danke!



  • Wieso funktioniert das und wie kann ich auf die funktion zugreifen, die ich in CDlgTest definiert habe??? Keiner eine Idee? 😞

    m_tabellenSeite[0]=new CDlgTest; 
    m_tabellenSeite[0]->Create(IDD_TEST, this); 
    m_tabellenSeite[0]->ShowWindow(SW_HIDE); 
    
    // Das geht nicht, da es immer noch vom Typ CDialog* ist
    m_tabellenSeite[0]->SetDlgPointer(blabla);
    


  • jajaja reinterpret_cast ist das Stichwort .. vielen Dank für die nicht-Hilfe 🙂


Anmelden zum Antworten