Compartilhar via


Método IUIFramework::GetView (uiribbon.h)

Recupera o endereço de um ponteiro para uma interface que representa uma exibição de estrutura da Faixa de Opções do Windows, como IUIRibbon ou IUIContextualUI.

Sintaxe

HRESULT GetView(
  [in]  UINT32 viewId,
  [in]  REFIID riid,
  [out] void   **ppv
);

Parâmetros

[in] viewId

Tipo: UINT32

A ID do Modo de Exibição. Um valor de 0 para uma Faixa de Opções ou o Command.Id de um ContextPopup.

[in] riid

Tipo: REFIID

A ID da interface para IUIRibbon ou IUIContextualUI.

[out] ppv

Tipo: void**

Quando esse método retorna, contém o endereço de um ponteiro para um objeto IUIRibbon ou IUIContextualUI .

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito; caso contrário, um valor de erro da lista a seguir.

Valor Descrição
E_INVALIDARG riid não é uma ID de interface válida.
E_FAIL Falha na operação.

Comentários

A funcionalidade da interface do usuário da estrutura da faixa de opções é diferenciada por Exibições, que são essencialmente estruturas principais internas, como a Faixa de Opções e o ContextPopup.

Em vez de manter um ponteiro para uma interface durante toda a vida útil de um aplicativo, IUIFramework::GetView permite que um aplicativo host crie um ponteiro de interface temporário e chame os métodos conforme necessário.

Nota O aplicativo host deve chamar IUnknown::Release no ponteiro de interface temporária para evitar um vazamento de memória.
 
Por exemplo, sempre que houver uma alteração no tamanho da faixa de opções, um aplicativo host chama GetHeight para ajustar o tamanho da área do cliente host adequadamente.

Exemplos

O exemplo a seguir demonstra como usar o método IUIFramework::GetView para recuperar um objeto Ribbon View, chamar o método GetHeight para recuperar a altura da faixa de opções e calcular um local de exibição para um controle pop-up de contexto com base na altura da faixa de opções.

void GetDisplayLocation(POINT &pt, HWND hWnd)
{
  if (pt.x == -1 && pt.y == -1)
  {
    HRESULT hr = E_FAIL;

    // Display the menu in the upper-left corner of the client area, below the ribbon.
    IUIRibbon* pRibbon;
    hr = g_pFramework->GetView(0, IID_PPV_ARGS(&pRibbon));
    if (SUCCEEDED(hr))
    {
      UINT32 uRibbonHeight = 0;
      hr = pRibbon->GetHeight(&uRibbonHeight);
      if (SUCCEEDED(hr))
      {
        pt.x = 0;
        pt.y = uRibbonHeight;
        // Convert client coordinates of a specified point to screen coordinates.
        ClientToScreen(hWnd, &pt);
      }
      pRibbon->Release();
    }
    if (FAILED(hr))
    {
      // Default to just the upper-right corner of the entire screen.
      pt.x = 0;
      pt.y = 0;
    }
  }
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho uiribbon.h
DLL Mshtml.dll

Confira também

IUIFramework

Exemplos da Estrutura da Faixa de Opções do Windows