Metodo IUIFramework::GetView (uiribbon.h)
Recupera l'indirizzo di un puntatore a un'interfaccia che rappresenta una visualizzazione del framework della barra multifunzione di Windows, ad esempio IUIRibbon o IUIContextualUI.
Sintassi
HRESULT GetView(
[in] UINT32 viewId,
[in] REFIID riid,
[out] void **ppv
);
Parametri
[in] viewId
Tipo: UINT32
ID per la visualizzazione. Valore 0 per una barra multifunzioneo Command.Id di un contestoPopup.
[in] riid
Tipo: REFIID
ID dell'interfaccia per IUIRibbon o IUIContextualUI.
[out] ppv
Tipo: void**
Quando questo metodo restituisce, contiene l'indirizzo di un puntatore a un oggetto IUIRibbon o un oggetto IUIContextualUI .
Valore restituito
Tipo: HRESULT
Restituisce S_OK se ha esito positivo; in caso contrario, un valore di errore dall'elenco seguente.
Valore | Descrizione |
---|---|
E_INVALIDARG | riid non è un ID interfaccia valido. |
E_FAIL | Operazione non riuscita. |
Commenti
La funzionalità dell'interfaccia utente del framework della barra multifunzione è differenziata da Views, che sono essenzialmente framework di base predefiniti, ad esempio la barra multifunzione e ContextPopup.
Anziché mantenere un puntatore a un'interfaccia durante tutta la durata di un'applicazione, IUIFramework::GetView consente a un'applicazione host di creare un puntatore di interfaccia temporaneo e chiamare i metodi in base alle esigenze.
Esempio
Nell'esempio seguente viene illustrato come usare il metodo IUIFramework::GetView per recuperare un oggetto View della barra multifunzione, chiamare il metodo GetHeight per recuperare l'altezza della barra multifunzione e calcolare una posizione di visualizzazione per un controllo Popup contesto in base all'altezza della barra multifunzione.
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;
}
}
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | uiribbon.h |
DLL | Mshtml.dll |