11. december 2003 - 13:34
Der er
13 kommentarer og 1 løsning
mfc menu problem
Create (NULL, _T ("My Application"), WS_OVERLAPPEDWINDOW, rectDefault, NULL, "IDR_MENU1"); Jeg har via resource view lavet en menu med følgende id: IDR_MENU1 I ovenstående kode forsøger jeg at kalde menuen i mit hovedvindue - men der kommer en runtime fejl. Jeg er ikke helt klar over hvor problemet opstår - er det fordi id'et er forkert eller er det min create statement den er gal med?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
11. december 2003 - 13:39
#1
Hvilket objekt kalder du Create på?
11. december 2003 - 14:57
#2
den kaldes inde i constructoren på klassen CStartWnd som nedarver fra CFrameWnd
11. december 2003 - 15:04
#3
Men kalder du ikke metoden på et objekt? Fx: m_MyObj.Create(...);
11. december 2003 - 15:57
#4
nej - min constructor ser således ud: CStartWnd::CStartWnd() { Create (NULL, _T ("My Application"), WS_OVERLAPPEDWINDOW, rectDefault, NULL, "IDR_MENU1"); } hvis min create metode ser ud som følgende har jeg ingen problemer: Create( NULL, "Figur-i-vindu" ); Jeg gætter på at den ikke kan finde resourceview eller lign.
11. december 2003 - 16:02
#5
Prøv MAKEINTRESOURCE(IDR_MENU1) istedet for "IDR_MENU1"
11. december 2003 - 18:49
#6
det virker ikke!
11. december 2003 - 18:55
#7
er det fordi jeg mangler at at include min .rs fil i CStartWnd klassen?
11. december 2003 - 20:18
#8
Du skal ikke inkludere .rc filen i class'en, men i projektet. Er CStartWnd er CWnd afledt class? Virker det hvis du blot skriver IDR_MENU1 i stedet for "IDR_MENU1"?
12. december 2003 - 08:42
#9
Kan du fortælle lidt om hvad du egentlig vil? Er det fx bare fordi du vil loade en anden menu end den der er standard? Eller er det et projekt du har lavet fra bunden (uden wizard)? Bruger i iøvrigt VC++6 eller 7 eller?
13. december 2003 - 01:01
#10
Hvis dit CStartWnd ligner den CStartWnd som vi har kikket på før, skal du: Tilføje: #include "resource.h" til den fil hvori du har CStartWnd::CStartWnd() Og tilføje din .rc fil projektet. Og så bruge MAKEINTRESOURCE(IDR_MENU1) i stedet for "IDR_MENU1" som jpk skrev. Så vil det virke.
15. december 2003 - 11:27
#11
det gjorde tak for det.. Lig et svar - Bertel - Undgår du stadig at få point?
15. december 2003 - 19:52
#12
Jeg forsøger stadig at undgå point. jpk bør nok have point for at foreslå MAKEINTRESOURCE().
16. december 2003 - 11:41
#13
jpk gider du ligge et svar... og tak for hjælpen
16. december 2003 - 11:44
#14
Jo tak, hvis du kunne bruge det til noget...
Kurser inden for grundlæggende programmering