Aracılığıyla paylaş


IOleComponentUIManager.ShowContextMenu Yöntem (UInt32, Guid, Int32, POINTS , IOleCommandTarget)

 

Bir bağlam menüsü görüntülenmesini ister.

Ad Alanı:   Microsoft.VisualStudio.Shell.Interop
Derleme:  Microsoft.VisualStudio.Shell.Interop (Microsoft.VisualStudio.Shell.Interop.dll içinde)

Sözdizimi

int ShowContextMenu(
    uint dwCompRole,
    [InAttribute] ref Guid rclsidActive,
    int nMenuId,
    POINTS[] pos,
    IOleCommandTarget pCmdTrgtActive
)
int ShowContextMenu(
    unsigned int dwCompRole,
    [InAttribute] Guid% rclsidActive,
    int nMenuId,
    array<POINTS>^ pos,
    IOleCommandTarget^ pCmdTrgtActive
)
abstract ShowContextMenu : 
        dwCompRole:uint32 *
        rclsidActive:Guid byref *
        nMenuId:int *
        pos:POINTS[] *
        pCmdTrgtActive:IOleCommandTarget -> int
Function ShowContextMenu (
    dwCompRole As UInteger,
    <InAttribute> ByRef rclsidActive As Guid,
    nMenuId As Integer,
    pos As POINTS(),
    pCmdTrgtActive As IOleCommandTarget
) As Integer

Parametreler

  • dwCompRole
    Type: System.UInt32

    [in] Bağlam menüsünü isteyen yerinde VSPackage nesne rolü. İçin geçerli dwCompRole değerler, bakın OLEROLE.

  • rclsidActive
    Type: System.Guid

    [in] Bağlam menüsünü isteyen yerinde VSPackage nesnesinin tanımlayıcısını (CLSID) sınıfı.

  • nMenuId
    Type: System.Int32

    [in] Görüntülenecek bağlam menüsünü tanımlar.

Dönüş Değeri

Type: System.Int32

Yöntem başarılı olursa, döndürür S_OK. Başarısız olursa, bir hata kodu döndürür.

Notlar

COM imza

Oleipc.idl:

HRESULT IOleComponentUIManager::ShowContextMenu(
   [in] DWORD dwCompRole,
   [in] REFCLSID rclsidActive,
   [in] LONG nMenuId,
   [in] REFPOINTS pos,
   [in] IOleCommandTarget *pCmdTrgtActive
);

ShowContextMenu üst düzey aracı ve yerinde VSPackage nesneleri tarafından kullanılabilir. Yerinde VSPackage nesnelerin ya da en içteki UI etkin nesne veya ana veya alt UI etkin nesnenin üst zincirinde olması gerekir.

Bağlam menüsü artık görüntülendiğinde SOleComponentUIManager hizmeti döndürür kullanarak etkin bir nesne komutları gönderme için IOleCommandTarget iç en etkin nesnenin arabirimi. Bu, son çağrısında geçirildi nesnesidir IOleCommandTarget.

Çünkü IOleCommandTarget arabirimi tarafından işaret edilen pCmdTrgtActive yerine arabiriminin bağlam menüsü görüntülenirken kullanılan şu anda UI etkin nesne, iç içe geçmiş denetim odağı gerçekleştirmeden bağlam menüsünü görüntülemek mümkündür. İstek bir alt yerinde bileşen veya bir bileşeni denetimi olarak davranan bir nesneden geliyor varsa istenen menüsünü görüntüleme önce SOleComponentUIManager hizmet ana yerinde bileşen geçersiz kılabilir veya bir kapsayıcı menü etkin nesne menüsü birleştirme olanağı verir.

Bağlam menüsünde kullanıcının seçtiği komutu çağrılması oluşan çağırmadan önce ShowContextMenu döndürür.

Görevi gören bir VSPackage nesne ise ana bileşen kendi bileşen denetim çağrıları genel denetim bağlam menüsünü görüntülemek için bir bileşen denetim istediği IOleCommandTarget, kendi GUID ve menü tanımlayıcısı COMP_CONTEXTID_CTRLGENERIC sağlama.SOleComponentUIManager Hizmetine geçirir Bu tanımlayıcılar ana bileşen açın nesnenin çağırdığında GetCntrContextMenu. Ana bileşen bu menü tanımlayıcı anlamalı ve bileşen denetimin menü gizleme ve ana bileşenin Genel Denetim menüsü ile değiştirerek yanıt.

Ayrıca bkz.

IOleComponentUIManager Arabirim
Microsoft.VisualStudio.Shell.Interop Ad Alanı

Başa dön