menu mit *.rc date wird nicht angezeigt
-
Es geht aber trotzdem. Man muss dann aber eben mymenu als String benutzen und nicht als ID. Ich habs ja getestet und bei mir wurde das Menü angezeigt.
-
Mic.. du bist geil^^.
und über die Projekt-Optionen sollte
sichergestellt werden das diese auch in die Kompilation einbezogen istProject/Project Options/Files/mymenu.rc
->include in compilationMuss man des auch bei dem mfc++ einstellen?
- weil es da auch nicht funktionierte
-
klappt nun auch mit mvc++.
Aber kann es sein das diese *.h datei immer "resource.h" heißen muss?
- weil wenn ich diese anders nenne, kommt eine fehlermeldung in der *.rc Datei:fatal error RC1004: unexpected end of file found
-
Hört sich eher nach einem Syntax-Fehler an

-
wieso funktioniert LoadMenu() nicht?:
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT ("dasmenu") ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = /*"mymenu"*/NULL; wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass)) { // UNICODE-Compilierung ist die einzige realistische Fehlermöglichkeit MessageBox (NULL, TEXT ("Programm arbeitet mit Unicode und setzt Windows NT voraus!"), szAppName, MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow (szAppName, // Name der Fensterklasse TEXT ("Das erste echte Programm"), // Fenstertitel WS_OVERLAPPEDWINDOW, // Fensterstil CW_USEDEFAULT, // X-Position des Fensters CW_USEDEFAULT, // Y-Position des Fensters CW_USEDEFAULT, // Fensterbreite CW_USEDEFAULT, // Fensterhöhe NULL, // übergeordnetes Fenster 0, // Menü hInstance, // Programm-Kopiezähler (Programm-ID) NULL) ; // zusätzliche Parameter ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; LoadMenu(hInstance,"mymenu");//<<<<<<<<<<<<< while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; }
-
wndclass.lpszMenuName = "mymenu";müsste eigentlich funktionieren
und loadmenu lässt du komplett weg.
-
ich will es aber mit loadmenu machen!
-> viele wege führennach rom, nicht nur einer..wäre ja schlimm
-
dann müsstest du beim dritt letzten parameter von createwindow dein loadmenu schreiben. (nicht getestet und weis auch nicht ob es funktioniert)
-
glaube kaum das es dahin kommt, da loadmenu für dynamisches zeugs da ist
-
SetMenu