Partager via


Méthode IXpsOMObjectFactory ::CreateVisualBrush (xpsobjectmodel.h)

Crée une interface IXpsOMVisualBrush , qui est un IXpsOMTileBrush qui utilise un objet visuel.

Syntaxe

HRESULT CreateVisualBrush(
  [in]          const XPS_RECT    *viewBox,
  [in]          const XPS_RECT    *viewPort,
  [out, retval] IXpsOMVisualBrush **visualBrush
);

Paramètres

[in] viewBox

Le XPS_RECT structure qui spécifie la zone de l’image source à utiliser dans le pinceau. Ce paramètre ne doit pas être NULL.

[in] viewPort

Structure XPS_RECT qui spécifie la zone géométrique de destination de la vignette. Ce paramètre ne doit pas être NULL.

[out, retval] visualBrush

Pointeur vers la nouvelle interface IXpsOMVisualBrush .

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles du tableau qui suit. Pour plus d’informations sur les valeurs de retour de l’API de document XPS qui ne sont pas répertoriées dans ce tableau, consultez Erreurs de document XPS.

Code de retour Description
S_OK
S_OK
E_POINTER
viewBox, viewPort ou visualBrush a la valeur NULL.
E_INVALIDARG
viewBox ou viewPort contient un rectangle ou une valeur non valide.

Remarques

L’exemple de code qui suit illustre la façon dont cette méthode est utilisée pour créer une interface.


IXpsOMVisualBrush        *newInterface;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreateVisualBrush (
        &viewBox,
        &viewPort,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // assign visual using one of the following:
        newInterface->SetVisualLocal (localVisual);
        // or
        newInterface->SetVisualLookup (visualLookupKey);
        // use newInterface

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}
// use newInterface

newInterface->Release();
xpsFactory->Release();


Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête xpsobjectmodel.h

Voir aussi

IXpsOMObjectFactory

IXpsOMVisualBrush

XML Paper Specification

Erreurs de document XPS