Probleme mit Resourcen (Menu)



  • Hallo ich lesen zur Zeit das Buch:
    "Windows Programmierung Das Entwicklerhandbuch zur Win32 API" von Charles Petzold

    und bin nun zu dem Punkt gekommen bei dem man Menus per Resourcen einbindet.

    Ich benutze: "Pelles C for Windows" um meine Resourcen zu erstellen
    Und Code::Blocks als IDE

    Wenn ich jetzt das Menu:

    ICONDEMO MENUEX
    BEGIN
      POPUP "Datei", 0, 0, 0
      BEGIN
        MENUITEM "Neu", IDM_FILE_NEW, 0, 0
        MENUITEM "Öffnen", IDM_FILE_OPEN, 0, 0
        MENUITEM "Speichern", IDM_FILE_SAVE, 0, 0
        MENUITEM "Speichern unter", IDM_FILE_SAVE_AS, 0, 0
        MENUITEM "", 0, 0|MFT_SEPARATOR, 0
        MENUITEM "Beenden", IDM_FILE_CLOSE, 0, 0
      END
      POPUP "Bearbeiten", 0, 0, 0
      BEGIN
        MENUITEM "Rückgängig", IDM_EDIT_UNDO, 0, 0
        MENUITEM "", 0, 0|MFT_SEPARATOR, 0
        MENUITEM "Ausschneiden", IDM_EDIT_CUT, 0, 0
        MENUITEM "Kopieren", IDM_EDIT_COPY, 0, 0
        MENUITEM "Einfügen", IDM_EDIT_PASTE, 0, 0
        MENUITEM "Löschen", IDM_EDIT_CLEAR, 0, 0
      END
      POPUP "Hintergrund", 0, 0, 0
      BEGIN
        MENUITEM "Weiß", IDM_BKGND_WHITE, 0, 0|MFS_CHECKED
        MENUITEM "Hellgrau", IDM_BKGND_LTGRAY, 0, 0
        MENUITEM "Grau", IDM_BKGND_GRAY, 0, 0
        MENUITEM "Dunkelgrau", IDM_BKGND_DKGRAY, 0, 0
        MENUITEM "Schwarz", IDM_BKGND_BLACK, 0, 0
      END
      POPUP "Timer", 0, 0, 0
      BEGIN
        MENUITEM "Start", IDM_TIMER_START, 0, 0
        MENUITEM "Stop", IDM_TIMER_STOP, 0, 0|MFS_GRAYED
      END
      POPUP "Hilfe", 0, 0, 0
      BEGIN
        MENUITEM "Hilfe...", IDM_APP_HELP, 0, 0
        MENUITEM "Info über MENUDEMO", IDM_APP_ABOUT, 0, 0
      END
    END
    

    mit

    wndclass.lpszMenuName = "ICONDEMO"
    

    einbinden will klappts nicht

    wenn ich jetzt aber
    die 2 Zeilen mit "MFT_SEPARATOR" löschen und
    "MFS_GRAYED" + "MFS_CHECKED" entfernen

    Dann klappts wunderbar aber warum??

    Es kommt auch keine Compiler Fehler:

    Switching to target: default
    Compiling: MENUDEMO.rc
    Compiling: MENUDEMO.c
    Linking executable: C:\Dokumente und Einstellungen\Pinguin\Eigene Dateien\C-Programme\Win 32 API\Beispiele Buch\Kapitel 10\MENUDEMO\MENUDEMO.exe
    Process terminated with status 0 (0 minutes, 0 seconds)
    0 errors, 0 warnings
    

    Danke schon mal Gast



  • Unregistrierter Gast schrieb:

    mit

    wndclass.lpszMenuName = "ICONDEMO"
    

    einbinden will klappts nicht

    also ich mach das immer so:

    wndclass.lpszMenuName = MAKEINTRESOURCE(ICONDEMO);
    

    und bei MS Resourceeditor heißt es "CHECKED" und "GRAYED", vieleicht einfach mal probieren?


Anmelden zum Antworten