Delen via


Hoe een control rendering class gebruiken

In dit voorbeeld ziet u hoe u de ComboBoxRenderer-klasse gebruikt om de vervolgkeuzepijl van een keuzelijstvak weer te geven. Het voorbeeld bestaat uit de OnPaint-methode van een eenvoudige aangepaste besturing. De eigenschap ComboBoxRenderer.IsSupported wordt gebruikt om te bepalen of visuele stijlen zijn ingeschakeld in het clientgebied van toepassingsvensters. Als visuele stijlen actief zijn, geeft de methode ComboBoxRenderer.DrawDropDownButton de vervolgkeuzepijl weer met visuele stijlen; anders wordt met de methode ControlPaint.DrawComboButton de vervolgkeuzepijl weergegeven in de klassieke Windows-stijl.

Voorbeeld

    // Render the drop-down arrow with or without visual styles.
protected:
    virtual void OnPaint(PaintEventArgs^ e) override
    {
        __super::OnPaint(e);

        if (!ComboBoxRenderer::IsSupported)
        {
            ControlPaint::DrawComboButton(e->Graphics,
                this->ClientRectangle, ButtonState::Normal);
        }
        else
        {
            ComboBoxRenderer::DrawDropDownButton(e->Graphics,
                this->ClientRectangle, ComboBoxState::Normal);
        }
    }
// Render the drop-down arrow with or without visual styles.
protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);

    if (!ComboBoxRenderer.IsSupported)
    {
        ControlPaint.DrawComboButton(e.Graphics,
            this.ClientRectangle, ButtonState.Normal);
    }
    else
    {
        ComboBoxRenderer.DrawDropDownButton(e.Graphics,
            this.ClientRectangle, ComboBoxState.Normal);
    }
}
' Render the drop-down arrow with or without visual styles.
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
    MyBase.OnPaint(e)

    If Not ComboBoxRenderer.IsSupported Then
        ControlPaint.DrawComboButton(e.Graphics, _
            Me.ClientRectangle, ButtonState.Normal)
    Else
        ComboBoxRenderer.DrawDropDownButton(e.Graphics, _
            Me.ClientRectangle, ComboBoxState.Normal)
    End If
End Sub

De code compileren

Voor dit voorbeeld is het volgende vereist:

Zie ook