Partager via


MÉTHODES ID2D1RenderTarget::D rawRoundedRectangle

Dessine le contour du rectangle arrondi spécifié à l’aide du style de trait spécifié.

Liste de surcharge

Méthode Description
DrawRoundedRectangle(D2D1_ROUNDED_RECT,ID2D1Brush&*,FLOAT,ID2D1StrokeStyle*) Dessine le contour du rectangle arrondi spécifié à l’aide du style de trait spécifié.
DrawRoundedRectangle(D2D1_ROUNDED_RECT*,ID2D1Brush*,FLOAT,ID2D1StrokeStyle*) Dessine le contour du rectangle arrondi spécifié à l’aide du style de trait 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 DrawRoundedRectangle) 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