IUIFramework ::GetView, méthode (uiribbon.h)
Récupère l’adresse d’un pointeur vers une interface qui représente une vue de l’infrastructure du ruban Windows, telle que IUIRibbon ou IUIContextualUI.
Syntaxe
HRESULT GetView(
[in] UINT32 viewId,
[in] REFIID riid,
[out] void **ppv
);
Paramètres
[in] viewId
Type : UINT32
ID de l’affichage. Valeur 0 pour un ruban ou la Command.Id d’un ContextPopup.
[in] riid
Type : REFIID
ID d’interface pour IUIRibbon ou IUIContextualUI.
[out] ppv
Type : void**
Lorsque cette méthode est retournée, contient l’adresse d’un pointeur vers un objet IUIRibbon ou IUIContextualUI .
Valeur retournée
Type : HRESULT
Retourne S_OK en cas de réussite ; sinon, une valeur d’erreur de la liste suivante.
Valeur | Description |
---|---|
E_INVALIDARG | riid n’est pas un ID d’interface valide. |
E_FAIL | L'opération a échoué. |
Remarques
La fonctionnalité d’interface utilisateur de l’infrastructure du ruban se distingue par les vues, qui sont essentiellement des infrastructures de base intégrées, telles que le ruban et ContextPopup.
Au lieu de conserver un pointeur vers une interface tout au long de la vie d’une application, IUIFramework ::GetView permet à une application hôte de créer un pointeur d’interface temporaire et d’appeler des méthodes si nécessaire.
Exemples
L’exemple suivant montre comment utiliser la méthode IUIFramework ::GetView pour récupérer un objet Ribbon View, appeler la méthode GetHeight pour récupérer la hauteur du ruban et calculer un emplacement d’affichage pour un contrôle Contextuel en fonction de la hauteur du ruban.
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;
}
}
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | uiribbon.h |
DLL | Mshtml.dll |