c/c++ strg-shortcuts

  • ich habe eine gui-anwendung für windows mit dev-cpp geschrieben und für die menü-shortcuts verwende ich ein menu.rc in folgender art:

    Code
    MAINMENU MENU
      {
       POPUP "&File"
       {
        MENUITEM "&Open...", CM_FILE_OPEN
       }
      }



    soweit funktioniert das ganze auch recht gut, wenn ich Alt-F drücke bin ich im File-menü usw.
    ich bräuchte aber shortcuts in der form Strg-X usw. wie macht man sowas?
    ja, wo wir schon dabei sind, wie deaktiviert man die üblichen win-shortcuts, wie alt-f4 usw?
    mfg. kampi

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • die strg-shortcuts kannst du in der menu.rc datei nur hinschreiben, dass sie neben dem menü stehen.
    so ca:

    MENUITEM "&Open...\tCtrl-O", CM_FILE_OPEN

    für die eigentliche funktionalität musst du die shortcuts in deiner Accelerator-Table eintragen (ist auch ein abschnitt in deiner .rc datei IIRC).

    Laden tust sie dann mit HACCEL handle = LoadAcceleratorTable() oder so ähnlich in der main funktion, und überprüfen tust sie dann in deinem haupt message loop mit TranslateAccelerator() oder ähnlich.

    genau weiß ich es leider auch nicht mehr, aber such einfach mal nach HACCEL, so heißt das handle zu den accelerators.


    PS: Ich finds super, dass es noch leute gibt, die sich noch um solche Shortcuts (v.a. auch die Alt+unterstrichener Buchstabe) kümmern - v.a. Windows Programme "vergessen" die in letzter zeit recht gerne, seitdem Win2000 eingeführt hat, dass man sie nicht immer sieht, sondern erst NACHDEM man alt drückt.

    EDIT: Alt-F4: Du musst den menü-eintrag im SystemMenü (das, wenn man Alt-Space drückt) deaktivieren.

    Einfach mit HMENU = GetSystemMenu(); etc. deaktivieren/löschen.

  • MaxAuthority:
    danke für die ausführliche antwort, ich kanns zwar nicht gleich ausprobieren/asprogrammieren (grad a bissl im uni-stress), aber das wird schon so funktionieren.
    dann steht ja meinem editor, der auch emacs-shortcuts versteht nix mehr im wege ....

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!