methode ueberschreiben



  • hmm - dann weiss ich nicht wie ich ansetzen soll

    mal simpel angefangen

    ich benutz CChildView zur erstellung von allen elementen die angezeigt werden
    CChildView ist demzufolge die gui

    nu moechte ich eine haupt klasse wo ich dem programm leben einhauche
    diese klasse muss natuerlich zugriff haben auf die elemente in der gui

    es ist kein problem eine methode in der childview zu machen {sowas wie OnBnClicked} und dann eine methode in der haupt klasse aufrufen

    wie implementier ich die klasse
    wenn ich die ableite von der gui klasse, hatt sie zwar vollen zugriff auf die elemente, aber ich kann keine methode aufrufen sobald was angeklickt wurde

    wenn ich die hauptklasse direkt in der gui klasse deklariere - kann ich die methoden aufrufen, aber die klasse hat keinen zugriff auf die elemente

    /=

    ich moechte halt gui und verarbeitung voneinander trennen



  • Mr Evil schrieb:

    ich moechte halt gui und verarbeitung voneinander trennen

    Genau das macht doch das Doc-View-Modell.
    Hast du keine Doc Klasse?
    🙂



  • noe ?

    wie gesagt, ich hab das projekt vom wizard erstellen lassen und dann die gui in der ChildView gebastelt

    Doc sagt mir gar nichts - wie implementier ich das ?



  • Der Wizard erstellt das Doc mit, wenn man ihm das sagt. Das wirst du wohl nicht getan haben und daher fehlt es. 😞

    Welches VC hast du?
    Ist das eine MDI-Anwendung?



  • ich hab mal geschaut - stimmt - das docview architecture hatte ich deaktiviert

    benutz VS 2005 Prof

    ist ein Single document und da hatte ich
    "Document/View architecture support" deaktiviert

    ich dacht das ist irgendwas wegen dateien schreiben / lesen bla, weil ich da staenig was von print gelesen hab #gg

    mal so gefragt
    wenn ich das so erstelle

    kann ich alles was ich jetzt in der childview erstellt hab dort in der "View" erstellen und klicks darauf in der doc abfangen ?

    View -> erstellen eines buttons und einer liste
    Doc -> message bekommen von den BnClicked und zugriff auf die liste

    ??

    waere ideal {=



  • Das geht ein wenig anders:
    Der Klick kommt im View an.

    Im View hast du mit Hilfe von GetDocument Zugriff auf das Doc und kannst dort dann Funktionen aufrufen wie du magst.
    Schau mal da: http://www.c-plusplus.net/forum/viewtopic-var-t-is-125623.html (Kapitel 4)

    Der View sollte dann Anzeigekram machen und das Doc sowas wie laden und speichern.



  • HA - funzt {=

    in hab in View ein button erstellt und in Doc dann das ON_BN_CLICKED

    und es funktioniert {=

    muss nu "nur" noch alles von meiner alten app nach der neuen app uebertragen

    vielen dank dir {=



  • Kein Problem 🙂



  • etwas versteh ich grad nicht

    also

    ich hab ein button in View erzeugt, und fange den klick in Doc ab
    nu moechte ich eintraege in eine liste setzen die ich auhc in view erzeugt hab

    da stellt sich mir die frage

    wie kann ich von Doc aus auf die Liste von View zugreifen /=

    ach ok - vergiss es #gg

    =

    void CFR2Doc::OnFunction()
    {
    	COwnView* pView = dynamic_cast<CFR2View*>(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
    	pView->i = 15;
    }
    


  • Da sieht man mal wieder, wie nützlich das Magazin ist: Zusammenhänger der SDI-Klassen


Anmelden zum Antworten