Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem ukazovatel na pohlad - v c++ 2008 zmizel class wizard

zdravim. taka bonusova otazocka ak by niekto vedel. kde sa podel vo visual c++ 2008 class wizard? prechod z 6.0 verzie na 2008 je akysi velky. neviem akym sposobom tam pridavat virtualne funkcie zakladnych tried, mapovanie sprav a podobne veci, ktore som v 6.0 krasne robil v class wizarde.

teraz hlavna otazka: mam SDI aplikaciu (v MFC) s dvomi statickymi pohladmi. napriklad jeden pohlad klasicky s base triedou CView a druhy CFormView. ako mozem pristupovat z jedneho pohladu do druheho? alebo inak povedane, napriklad: ako ziskam ukazovatela na pohlad CView z pohladu CFormView?

tuto malickost som "obhospodaril" :-) ale nezda sa mi to uplne v poriadku. nechcem pisat ako, aby som neovplyvnil (ak vobec nejake budu) prispekvy.
Změna předmětu, původně: ukazovatel na pohlad (LaKr) (Kráťa)

Předmět Autor Datum
To si nevies pozret help? Mal by si tam mat nejaky class designer. Alebo si to mozes urobit rucne. A…
mm 15.04.2009 02:59
mm
::) fiii ha. tak pomohol si mi. tu prvu vec som samozrejme zvladol za pat min. po pozreti helpu. k t…
stryko.donald 15.04.2009 09:46
stryko.donald
Viem dobre o com je rec, blbo sa pytas. Vsetko je perfektne popisane v MSDN, treba to citat. Pokial…
mm 17.04.2009 13:41
mm
opraveny link
mm 17.04.2009 13:42
mm
A este k tej tvojej narazke na CObject. Keby si nebol zaslepeny blbou namyselnostou tak by si pochop…
mm 17.04.2009 13:46
mm
Este jeden link na technical note Vseobecne na tvoj "problem" sa da pouzit CDocument konkretne GetF…
mm 17.04.2009 13:58
mm
Inac to co chces (pristupovat z jedneho view do druheho) je principialne nevhodne v zmysle document-… poslední
mm 17.04.2009 15:25
mm

To si nevies pozret help? Mal by si tam mat nejaky class designer. Alebo si to mozes urobit rucne.
Aky mas presne VC? Ak mas len express tak tam neni vobec MFC.

Co sa tyka tried - ty nemas MSDN? Na microsoft.com u vc express je aj plne MSDN (ca 2GB) tak si to stiahni, alebo pouzivaj online msdn.microsoft.com.
Ak sa nemylim tak CFormView je odvodena od CView, takze CFormView je zaroven aj CView (nepotrebujes ziadneho ukazovatela)

::) fiii ha. tak pomohol si mi.
tu prvu vec som samozrejme zvladol za pat min. po pozreti helpu.
k tej druhej. vidim ze vobec nevies o com je rec. ak mas v sdi aplikacii dva pohlady, je jedno ci to je odvodene od cview alebo od ineho. potom si mi mohol rovno napisat ved je to odvodene od cobject co su vsetky triedy v mfc, a potom vlastne nepotrebujem vobec ziadne ukazovatele :-D:-D. este raz to vysvetlim, hlavne ramcove okno ma dva!!! nezavisle!!! pohlady. znamena to k pristupu su dva rozne ukazovatele na dva pohlady. ale teda dik za konstruktivnu radu.

mozem rovno napisat ako som to vyriesil. pri vytvarani pohladov ramcovym oknom nejde pridelit ich ukazovatl rodicovskemu oknu (hlavnemu ramcovemu). avsak pri inicializacii pohladov ziskam ukazovatel na rodicovske okno (ktory ma default) a priradim mu do nevej clenskej premenej pohladu sam seba (this). tym dokaze ramec mat dva ukazovatele na pohla, ktore uz lahko ziskam z jednotlivych pohladov. no len toto nie je zrovna to najlepsie riesenie.

Viem dobre o com je rec, blbo sa pytas.
Vsetko je perfektne popisane v MSDN, treba to citat. Pokial mas viac okien alebo viewov tak ich niekto vytvoril (bud ty alebo frame okno alebo cwinapp apod) a ten niekto ma aj na nich pointre. Zavisi od toho co presne tam robis. Z hlavy ti presne nenapisem ptz za prve neviem co presne tam mas (ake okna a viewy a ako vytvorene) a za druhe naposledy som sa s MFC viewmi drbal pred vyse 5rokmi. Ale v MSDN su obsirne popisane vztahy medzi dokumentom, frame a viewmi, vytvaranie a praca s viewmi

4x1xy43a(VS.71).aspx

aj s prikladmi (samples)

A este k tej tvojej narazke na CObject. Keby si nebol zaslepeny blbou namyselnostou tak by si pochopil ze som pisal o tom ako pristupit na metody CView z CFormView (ptz som myslel ze sa na to pytas). Ano a ak chces pouzit nejaku metodu CObject tak ju mozes pouzit priamo z CFormView. Lebo su vsetky odvodene.

Ak sa pytas na pointer ineho viewu tak ako som ho pisal ma ho VZDY ten, kto ho vytvoril.

Inac to co chces (pristupovat z jedneho view do druheho) je principialne nevhodne v zmysle document-view architektury. Je to aj nebezpecne, v urcitych okamzikoch (otvaranie dokumentu apod) nemusi druhy view este/uz vobec existovat, a moze sa zavolat metoda v ktorej na to pristupujes.
View ma byt samostatna vec nezavisla na inych viewoch. Spolocne veci mas mat v CDocument.
To by bolo spravne riesenie (navrhnut si objekty inac, a vobec na ine viewy nepristupovat).

Zpět do poradny Odpovědět na původní otázku Nahoru