IUIFramework::GetView-Methode (uiribbon.h)
Ruft die Adresse eines Zeigers auf eine Schnittstelle ab, die eine Windows-Menübandframeworkansicht darstellt, z. B. IUIRibbon oder IUIContextualUI.
Syntax
HRESULT GetView(
[in] UINT32 viewId,
[in] REFIID riid,
[out] void **ppv
);
Parameter
[in] viewId
Typ: UINT32
Die ID für die Ansicht. Der Wert 0 für ein Menüband oder die Command.Id eines ContextPopups.
[in] riid
Typ: REFIID
Die Schnittstellen-ID für IUIRibbon oder IUIContextualUI.
[out] ppv
Typ: void**
Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf ein IUIRibbon - oder ein IUIContextualUI-Objekt .
Rückgabewert
Typ: HRESULT
Gibt bei erfolgreicher Ausführung S_OK zurück. andernfalls ein Fehlerwert aus der folgenden Liste.
Wert | Beschreibung |
---|---|
E_INVALIDARG | riid ist keine gültige Schnittstellen-ID. |
E_FAIL | Fehler beim Vorgang. |
Hinweise
Die Benutzeroberflächenfunktionalität des Menübandframeworks unterscheidet sich durch Ansichten, die im Wesentlichen integrierte Kernframeworks sind, z. B. das Menüband und ContextPopup.
Anstatt einen Zeiger auf eine Schnittstelle während der gesamten Lebensdauer einer Anwendung beizubehalten, ermöglicht IUIFramework::GetView einer Hostanwendung, einen temporären Schnittstellenzeiger zu erstellen und bei Bedarf Methoden aufzurufen.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Sie mithilfe der IUIFramework::GetView-Methode ein Menübandansicht-Objekt abrufen, die GetHeight-Methode aufrufen, um die Höhe des Menübands abzurufen, und eine Anzeigeposition für ein Context-Popup-Steuerelement basierend auf der Höhe des Menübands berechnen.
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;
}
}
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | uiribbon.h |
DLL | Mshtml.dll |