08. november 2001 - 19:05Der er
19 kommentarer og 1 løsning
def af CHILD view
Jeg har oprettet et view vha. classWizard. Det er en ny klasse kaldet CAddDb som arver fra CFormView. Dette view skal nu ind i et Splitter Window, men idet jeg forsoeger, faar jeg fejlen at viewet ikke er defineret som CHILD. Hvordan goer jeg det?
ja, jeg fandt selv ud af det, og det var nok den sidste del som du har svaret... Jeg havde bare oprettet en almindelig dialog boks, men den skulle selvfoelgelig vaere af typen Dialogview...
Men anyway... du faar dine point.. tak for hjaelpen.
jpk >> Du ved meget om C... du svarer altid paa mine spg... Jeg er newbee, men har haardt brug for at laere det... kan du foreslaa nogen steder/boeger jeg skal laese?
Ang. læsemateriale, så skriver du ikke, hvad det er du vil lære? Hvis det er MFC, som du jo anvender her, så er mit bedste bud \"Programming Windows with MFC\" af Jeff Prosise! Bogen beskriver noget nær alt du vil få brug for den første lange tid og er fin både som opslagsværk og til at læse fra start til slut.
Jeg synes selv, at MFC er en særdeles god overbygning til C++ og det vil helt klart spare dig for en masse arbejde med at udvikle trivielle klasser, hvilket ofte er tilfældet i \'ren\' C++!!! Det er selvfølgelig, som med så meget andet, et spørgsmål om smag og temperament...
Jep, man skal lige forstå hvad alt det gøgl er (sådan ser det i hvert fald i ud starten) som Wizard\'en propper ind... og spørg bare løs!
#ifndef betyder egentlig \"if not defined\", altså hvis \'efterfølgende\' ikke er defineret, så skal det defineres. Forestil dig du har 2 filer med hver deres klasser. Klassen i den 1. fil har brug for at kende til den en klasse i den 2. fil og omvendt... Hver fil kan ikke inkludere (#include\") den anden, da det jo giver en uendelig lykke!!! Derfor, angiver filen, at hvis den ikke allerede er \'kendt\'af compileren, skal den læses, ellers ikke!
ok... jpk... jeg har et spg. mere... Jeg skal nok oprette et spg med nye point, men det er nemmere at stille det her, da det er en fortsaettelse herpaa.
Jeg har som sagt et splittervindue og i hvert af disse er der et view. Det ene view har en variable det andet view skal bruge. Hvordan goer jeg det?
doc/view... doc referer til doc-koden i denne sammenhaeng, view til view-koden
ok, jeg har 2 views. Det ene er et formview med nogle knapper, i det andet vises der en pdf fil. I det view(faktisk doc) hvor der vises pdf filen, ligger der en variable hvori der staar: den fulde sti til pdf filen Den skal jeg bruge i det andet view(doc), da jeg har brug for at laegge denne pdf fil over i en database... saa, det er bare en CString, og doc(til pdf\'en) har en funktion der hedder getfullpathname(noget i den stil...). Saa, det jeg skal er fra det ene view(formviewet - ikke dens doc) have fat i den funktion der ligger i det andets view(doc i dette tilfaelde) via en member funktion.
Ja, jeg har ledt efter klassen CToView, men kan ikke finde den... Jeg regner med at du mener CWnd
Meget rodet!!! Hvis det er en variabel der logisk tilhører dit dokument (som fx stien til filen) bør du anbringe den netop der, i din dokumentklasse (CDocument-nedarvingen). Altså kan du så bruge din GetDocument-metode til at få adgang til stien...
Det jeg mente med navnene CToView (To=til) og CFromView (From=fra) var naturligvis at angive fra hvilket view man gik! Hvis du har to views, CStaticView & CAddView, kan du gøre sådan:
Tilføj en GetDocument() metode til det view du skal bruge document fra! Hvis den ikke allerede eksisterer i viewet, ken du bare kopiere den fra det andet view og ændre en smule i den...
ok... jeg fatter ikke lige det du siger... du siger at det kan goeres meget nemmere... jeg har folgende:
doc1 | doc2 view1 | view2
jeg vil nu gerne fra view2 til doc1. Det kan jeg da ikke bare goere ved et simpelt GetDocument() kald... Desuden har jeg i min laaaaaange loesning ogsaa GetDocument inde i, saa jeg bruger skam den metode :-)
Hmm, er du sikker på at dit design holder? Jeg bryder mig ikke om det med at skulle bruge doc1 fra view2... Hvorfor har du i øvrigt flere doc\'s, når du bruger det samme doc i begge view\'s?
Nej, jeg er ikke sikker paa at mit design holder. Jeg er newbee, men ved godt at dette ikke holder. MEN, da jeg har stjaalet noget af koden fra et andet sted, saa er jeg lidt paa roeven mht. at \"reperere\" paa det da det er lige i overkanten for mig. Men jeg kan da lige faa rettet op paa nogle ting her da: Hvis man med DocTemplate i 2 kald bruger den samme Doc, er det saa det SAMME document(en pointer), eller er det 2 forskellige?
På den anden side bliver det nok for indviklet hvis du ikke er helt sikker på hvad du gør.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.