Dela via


Menyredigeraren (C++)

Med menyer kan du ordna kommandon på ett logiskt och lättsökt sätt. Med menyredigeraren kan du skapa och redigera menyer genom att arbeta direkt med en menyrad som liknar den i det färdiga programmet.

Tips/Råd

När du använder menyredigeraren kan du i många fall högerklicka för att visa en popup-meny med kommandon som används ofta. Vilka kommandon som är tillgängliga beror på vad pekaren pekar på.

Så här gör du

Med menyredigeraren kan du:

Så här skapar du en standardmeny

  1. Gå till menyn Visa>resursvy eller Visa>annan Windows-resursvy> och högerklicka på menyrubriken. Välj Lägg till resurs och sedan Meny.

  2. Välj rutan Nytt objekt (rektangeln som innehåller Typ här) på menyraden.

    Rutan Nytt objekt i menyredigeraren.
    Nytt objekt-rutan

  3. Ange ett namn för den nya menyn, till exempel Arkiv.

    Texten du skriver visas i både menyredigeraren och i rutan Bildtext i fönstret Egenskaper. Du kan redigera egenskaperna för den nya menyn på någon av platserna.

    När du har gett den nya menyn ett namn på menyraden flyttas rutan new-item till höger (så att du kan lägga till en annan meny). En annan ny ruta för objekt öppnas under din första meny så att du kan lägga till menykommandon till den.

    Expanderad rutan Nytt objekt.
    Rutan Nytt objekt med fokus skiftat efter att du har skrivit menynamn

    Anmärkning

    Om du vill skapa en meny med ett objekt i menyraden anger du egenskapen Popup till False.

Skapa en undermeny

  1. Välj menykommandot som du vill skapa en undermeny för.

  2. I rutan Nytt objekt som visas till höger skriver du namnet på det nya menykommandot. Det här nya kommandot visas först på undermenyn.

  3. Lägg till fler menykommandon på undermenyn.

Infoga en ny meny mellan befintliga menyer

Välj ett befintligt menynamn och tryck på Infoga eller högerklicka på menyraden och välj Infoga ny.

Rutan Nytt objekt infogas före det valda objektet.

Så här lägger du till kommandon i en meny

  1. Skapa en meny. Välj sedan ett menynamn, till exempel Arkiv.

    Varje meny expanderar och exponerar en ny objektruta för kommandon. Du kan till exempel lägga till kommandona Ny, Öppna och Stäng till en filmeny .

  2. I den nya objektrutan skriver du ett namn för det nya menykommandot.

    Anmärkning

    Texten du skriver visas i både menyredigeraren och i rutan Bildtext i fönstret Egenskaper. Du kan redigera egenskaperna för den nya menyn på någon av platserna.

    Tips/Råd

    Du kan definiera en mnemonic-nyckel (snabbnyckel) som gör att användaren kan välja menykommandot. Skriv ett et-tecken (&) framför en bokstav för att ange det som mnemonic. Användaren kan välja menykommandot genom att skriva den bokstaven.

  3. I fönstret Egenskaper väljer du de menykommandoegenskaper som gäller. Mer information finns i Menykommandoegenskaper.

  4. I rutan Fråga i fönstret Egenskaper skriver du den promptsträng som du vill ska visas i programmets statusfält.

    Det här steget skapar en post i strängtabellen med samma resursidentifierare som menykommandot som du skapade.

    Anmärkning

    Stödkommandon kan endast tillämpas på menyalternativ med Popup-egenskapen satt till Sant. Menyalternativ på den översta nivån kan till exempel ha uppmaningar om de har undermenyalternativ. Syftet med en fråga är att ange vad som händer om en användare väljer menyalternativet.

  5. Tryck på Retur för att slutföra menykommandot.

    Den nya objektrutan är markerad så att du kan skapa fler menykommandon.

Så här väljer du flera menykommandon för att köra massåtgärder som att ta bort eller ändra egenskaper

När du håller ned Ctrl-tangenten väljer du de menyer eller undermenykommandon som du vill använda.

Flytta och kopiera menyer och menykommandon

  • Använd dra och släpp-metoden:

    1. Dra eller kopiera det objekt som du vill flytta till:

      • En ny plats på den aktuella menyn.

      • En annan meny. Du kan navigera till andra menyer genom att dra muspekaren över dem.

    2. Släpp menykommandot när infogningsguiden visar önskad position.

  • Använd snabbmenykommandon:

    1. Högerklicka på en eller flera menyer eller menykommandon och välj sedan Klipp ut (för att flytta) eller Kopiera.

    2. Om du flyttar objekten till en annan menyresurs eller resursskriptfil öppnar du det i ett annat fönster.

    3. Välj positionen för meny- eller menykommandot som du vill flytta eller kopiera till.

    4. På snabbmenyn väljer du Klistra in. Det flyttade eller kopierade objektet placeras före det objekt du väljer.

Anmärkning

Du kan också dra, kopiera och klistra in till andra menyer i andra menyfönster.

Ta bort ett meny- eller menykommando

Högerklicka på menynamnet eller kommandot och välj Ta bort.

Anmärkning

På samma sätt kan du använda snabbmenyn för att utföra andra åtgärder som Kopiera, Klipp ut, Klistra in, Infoga ny, Infoga avgränsare, Redigera ID:n, Visa som popup-fönster, Kontrollera Mnemonics osv.

Popup-menyer

Popup-menyer visar kommandon som används ofta. De kan vara kontextkänsliga för pekarens plats. Om du använder popup-menyer i programmet måste du skapa själva menyn och sedan ansluta den till programkoden.

När du har skapat menyresursen måste programkoden läsa in menyresursen och använda TrackPopupMenu för att menyn ska visas. När användaren har stängt popup-menyn genom att välja utanför den, eller har valt ett kommando, returneras funktionen. Om användaren väljer ett kommando skickas det kommandomeddelandet till fönstret vars handtag skickades.

Anmärkning

För MFC-biblioteksprogram (Microsoft Foundation Class) och ATL-program använder du kodguider för att koppla menykommandon till kod. Mer information finns i Lägga till en händelse och mappa meddelanden till funktioner.

  • Skapa en popup-meny genom att skapa en meny med en tom rubrik och inte ange någon bildtext. Lägg sedan till ett menykommando i den nya menyn. Flytta till det första menykommandot under menyrubriken som är tom (den har den tillfälliga texten Typ här) och skriv en Rubrik och annan information.

    Upprepa den här processen för andra menykommandon i popup-menyn och spara menyresursen.

  • Om du till exempel vill ansluta en popup-meny till ditt program lägger du till en meddelandehanterare för WM_CONTEXTMENU och lägger sedan till följande kod i meddelandehanteraren:

    CMenu menu;
    VERIFY(menu.LoadMenu(IDR_MENU1));
    CMenu* pPopup = menu.GetSubMenu(0);
    ASSERT(pPopup != NULL);
    pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
    

    Anmärkning

    CPoint-objektet som skickas av meddelandehanteraren finns i skärmkoordinater.

När du arbetar i menyredigeraren visas normalt en menyresurs som en menyrad. Du kan dock ha menyresurser som läggs till i programmets menyrad medan programmet körs.

  • Om du vill visa en menyresurs som en popup-meny högerklickar du på menyn och väljer Visa som popup-meny.

    Det här alternativet är bara en visningsinställning och ändrar inte menyn.

Tips/Råd

Om du vill ändra tillbaka till menyradsvyn väljer du Visa som popup igen . Den här åtgärden tar bort bockmarkeringen och returnerar menyradsvyn.

Kravspecifikation

Win32

Se även

Resursredigerare
menykommandon
User-Interface objekt och kommando-ID:t
menyer
menyer