Condividi tramite


Implementazione della gestione di comando per i progetti annidati

L'ide possibile passare i controlli che vengono passati tra IVsUIHierarchy e le interfacce di IOleCommandTarget ai progetti annidati, o i progetti padre possono filtrare o eseguire l'override dei controlli.

Nota

Solo i controlli normalmente gestiti dal progetto padre possono essere filtrati.I controlli come Build e Deploy che vengono gestiti dall'IDE non possono essere filtrati.

Nei passaggi seguenti viene descritto il processo per implementare la gestione del comando.

Procedure

Per applicare gestione di comando

  1. Quando l'utente seleziona un progetto annidato o un nodo in un annidato progetti:

    1. The IDE calls the QueryStatus method.

    —oppure—

    1. Se il comando ha avuto origine in una finestra gerarchia, quale un comando in Esplora soluzioni il menu di scelta rapida, l'ide chiama il metodo di QueryStatusCommand nell'elemento padre del progetto.
  2. Il progetto padre possibile esaminare i parametri da passare a QueryStatus, come pguidCmdGroup e prgCmds, per determinare se il progetto padre necessario filtrare i controlli. Se il progetto padre viene implementato filtrare i controlli, deve impostare:

    prgCmds[0].cmdf = OLECMDF_SUPPORTED;
    // make sure it is disabled
    prgCmds[0].cmdf &= ~MSOCMDF_ENABLED;
    

    Quindi il progetto padre deve restituire S_OK.

    Se il progetto padre non filtra il comando, deve restituire solo S_OK. In questo caso, l'ide automaticamente illustrato il comando al progetto figlio.

    Il progetto padre non deve soddisfare il comando al progetto figlio. L'ide esegue questa attività.

Vedere anche

Riferimenti

IVsUIHierarchy

Concetti

progetti di annidamento

Altre risorse

Controlli, menu e barre degli strumenti