Partager via


Méthodes ID2D1RenderTarget::FillRoundedRectangle

Peint l’intérieur du rectangle arrondi spécifié.

Liste de surcharge

Méthode Description
FillRoundedRectangle(D2D1_ROUNDED_RECT,ID2D1Brush&*) Peint l’intérieur du rectangle arrondi spécifié.
FillRoundedRectangle(D2D1_ROUNDED_RECT*,ID2D1Brush*) Peint l’intérieur du rectangle arrondi spécifié.

Notes

Cette méthode ne retourne pas de code d’erreur en cas d’échec. Pour déterminer si une opération de dessin (telle que FillRoundedRectangle) a échoué, case activée le résultat retourné par les méthodes ID2D1RenderTarget::EndDraw ou ID2D1RenderTarget::Flush.

Exemples

L’exemple suivant utilise les méthodes DrawRoundedRectangle et FillRoundedRectangle pour tracer et remplir un rectangle arrondi. Cet exemple génère la sortie illustrée dans l’illustration suivante.

illustration de quatre rectangles arrondis avec différents styles de traits et remplissages

//  Called whenever the application needs to display the client
//  window.
HRESULT DrawAndFillRoundedRectangleExample::OnRender()
{
    HRESULT hr;

    // Create the render target and brushes if they
    // don't already exists.
    hr = CreateDeviceResources();

    if (SUCCEEDED(hr))
    {
        // Retrieve the size of the render target.
        D2D1_SIZE_F renderTargetSize = m_pRenderTarget->GetSize();

        m_pRenderTarget->BeginDraw();
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());
        m_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White));

        // Paint a grid background.
        m_pRenderTarget->FillRectangle(
            D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
            m_pGridPatternBitmapBrush
            );

        // Define a rounded rectangle.
        D2D1_ROUNDED_RECT roundedRect = D2D1::RoundedRect(
            D2D1::RectF(20.f, 20.f, 150.f, 100.f),
            10.f,
            10.f
            );

        // Draw the rectangle.
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f);

        // Apply a translation transform.
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(200.f, 0.f));

        // Draw the rounded rectangle again, this time with a dashed stroke.
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f, m_pStrokeStyle);

        // Apply another translation transform.
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(0.f, 150.f));

        // Draw, then fill the rounded rectangle.
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f, m_pStrokeStyle);
        m_pRenderTarget->FillRoundedRectangle(roundedRect, m_pSilverBrush);

        // Apply another translation transform.
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(200.f, 150.f));

        // Fill, then draw the rounded rectangle.
        m_pRenderTarget->FillRoundedRectangle(roundedRect, m_pSilverBrush);
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f, m_pStrokeStyle);

        hr = m_pRenderTarget->EndDraw();

        if (hr == D2DERR_RECREATE_TARGET)
        {
            hr = S_OK;
            DiscardDeviceResources();
        }
    }

    return hr;
}

Spécifications

Condition requise Valeur
En-tête
D2d1.h
Bibliothèque
D2d1.lib
DLL
D2d1.dll

Voir aussi

ID2D1RenderTarget

Comment dessiner et remplir une forme de base

D2D1::RoundedRect