wxWidgets: Funtion eines Parent-Frames aufrufen



  • Hallo,

    ich habe ein Frame, das ein Notebook enthält.
    Dieses enthält wiederum verschiedene Panels.
    Wie kann ich nun aus diesen Panels heraus eine Funktion des Frames aufrufen?

    Danke



  • Du könntest in den Panels einen Pointer für den Frame anlegen:

    im Panel .h:
    MeinFrame *m_pMeinFrame;

    und im Frame, da wo Panel angelegt wird:
    pMeinPanel = new wxPanel(....)
    pMeinPanel->m_pMeinFrame = this;

    dann kannst du über m_pMeinFrame->... vom Panel aus auf alles im Frame zugreifen.



  • Oder einfach solange GetParent() machen, bis du bei deinem Frame angekommen bist:

    wxWindow* parent = GetParent();
    while (parent) {
       MyFrameType* f = dynamic_cast<MyFrameType*>(parent);
       if (f) { // Gotcha
          f->Whatever();
          break;
       }
       parent = parent->GetParent();
    }
    

Anmelden zum Antworten