Comment : restituer un élément de style visuel
L’espace System.Windows.Forms.VisualStyles de noms expose des VisualStyleElement objets qui représentent les éléments d’interface utilisateur Windows pris en charge par les styles visuels. Cette rubrique montre comment utiliser la VisualStyleRenderer classe pour afficher les VisualStyleElement boutons de déconnexion et d’arrêt de la menu Démarrer.
Pour afficher un élément de style visuel
Créez un VisualStyleRenderer élément et définissez-le sur l’élément que vous souhaitez dessiner. Notez l’utilisation de la propriété et de la Application.RenderWithVisualStylesVisualStyleRenderer.IsElementDefined méthode ; le VisualStyleRenderer constructeur lève une exception si les styles visuels sont désactivés ou qu’un élément n’est pas défini.
private: VisualStyleRenderer^ renderer; VisualStyleElement^ element; public: CustomControl() { this->Location = Point(50, 50); this->Size = System::Drawing::Size(200, 200); this->BackColor = SystemColors::ActiveBorder; this->element = VisualStyleElement::StartPanel::LogOffButtons::Normal; if (Application::RenderWithVisualStyles && VisualStyleRenderer::IsElementDefined(element)) { renderer = gcnew VisualStyleRenderer(element); } }
private VisualStyleRenderer renderer = null; private readonly VisualStyleElement element = VisualStyleElement.StartPanel.LogOffButtons.Normal; public CustomControl() { this.Location = new Point(50, 50); this.Size = new Size(200, 200); this.BackColor = SystemColors.ActiveBorder; if (Application.RenderWithVisualStyles && VisualStyleRenderer.IsElementDefined(element)) { renderer = new VisualStyleRenderer(element); } }
Private renderer As VisualStyleRenderer = Nothing Private element As VisualStyleElement = _ VisualStyleElement.StartPanel.LogOffButtons.Normal Public Sub New() Me.Location = New Point(50, 50) Me.Size = New Size(200, 200) Me.BackColor = SystemColors.ActiveBorder If Application.RenderWithVisualStyles And _ VisualStyleRenderer.IsElementDefined(element) Then renderer = New VisualStyleRenderer(element) End If End Sub
Appelez la DrawBackground méthode pour afficher l’élément que représente VisualStyleRenderer actuellement.
protected: virtual void OnPaint(PaintEventArgs^ e) override { // Draw the element if the renderer has been set. if (renderer != nullptr) { renderer->DrawBackground(e->Graphics, this->ClientRectangle); } // Visual styles are disabled or the element is undefined, // so just draw a message. else { this->Text = "Visual styles are disabled."; TextRenderer::DrawText(e->Graphics, this->Text, this->Font, Point(0, 0), this->ForeColor); } }
protected override void OnPaint(PaintEventArgs e) { // Draw the element if the renderer has been set. if (renderer != null) { renderer.DrawBackground(e.Graphics, this.ClientRectangle); } // Visual styles are disabled or the element is undefined, // so just draw a message. else { this.Text = "Visual styles are disabled."; TextRenderer.DrawText(e.Graphics, this.Text, this.Font, new Point(0, 0), this.ForeColor); } }
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) ' Draw the element if the renderer has been set. If (renderer IsNot Nothing) Then renderer.DrawBackground(e.Graphics, Me.ClientRectangle) ' Visual styles are disabled or the element is undefined, ' so just draw a message. Else Me.Text = "Visual styles are disabled." TextRenderer.DrawText(e.Graphics, Me.Text, Me.Font, _ New Point(0, 0), Me.ForeColor) End If End Sub
Compilation du code
Cet exemple nécessite :
Contrôle personnalisé dérivé de la Control classe.
Qui Form héberge le contrôle personnalisé.
Références aux espaces de noms , et System.Windows.FormsSystem.Windows.Forms.VisualStyles aux Systemespaces System.Drawingde noms.
Voir aussi
.NET Desktop feedback