Método IUIFramework::GetView (uiribbon.h)
Recupera la dirección de un puntero a una interfaz que representa una vista del marco de la cinta de Windows, como IUIRibbon o IUIContextualUI.
Sintaxis
HRESULT GetView(
[in] UINT32 viewId,
[in] REFIID riid,
[out] void **ppv
);
Parámetros
[in] viewId
Tipo: UINT32
Identificador de la vista. Un valor de 0 para una cinta de opciones o el Command.Id de contextPopup.
[in] riid
Tipo: REFIID
Identificador de interfaz de IUIRibbon o IUIContextualUI.
[out] ppv
Tipo: void**
Cuando este método devuelve, contiene la dirección de un puntero a un IUIRibbon o un objeto IUIContextualUI .
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si se ejecuta correctamente; de lo contrario, un valor de error de la lista siguiente.
Valor | Descripción |
---|---|
E_INVALIDARG | riid no es un identificador de interfaz válido. |
E_FAIL | Error en la operación. |
Comentarios
La funcionalidad de la interfaz de usuario del marco de la cinta de opciones se diferencia por Las vistas, que son básicamente marcos principales integrados, como la cinta de opciones y ContextPopup.
En lugar de mantener un puntero a una interfaz durante toda la vida de una aplicación, IUIFramework::GetView permite a una aplicación host crear un puntero de interfaz temporal y llamar a métodos según sea necesario.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el método IUIFramework::GetView para recuperar un objeto Vista de la cinta de opciones, llamar al método GetHeight para recuperar el alto de la cinta de opciones y calcular una ubicación para mostrar para un control Emergente de contexto basado en el alto de la cinta de opciones.
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 | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | uiribbon.h |
Archivo DLL | Mshtml.dll |