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 guinu moechte ich eine haupt klasse wo ich dem programm leben einhauche
diese klasse muss natuerlich zugriff haben auf die elemente in der guies 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 wurdewenn 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" deaktiviertich 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 erstellekann 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 habda 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