Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DATETIMEPICKER DONT ON PEUT MODIFIER LA PROPRIÉTÉ BACKCOLOR


Information sur la source

Description

La propriété BackColor d'un contrôle DateTimePicker n'est pas modifiable, tout du moins elle n'apparait pas dans le contrôle lui-même, ni dans la partie "calendrier" du contrôle lorsque celle-ci est affichée.
Ce code contient une classe dérivée de DateTimePicker, dont la proriété BackColor est surchargée.
 

Source

  • Imports System
  • Imports System.ComponentModel
  • Imports System.Drawing
  • Imports System.Windows.Forms
  • Public Class MonDTP
  • Inherits DateTimePicker
  • Private m_backBrush As SolidBrush
  • Public Overrides Property BackColor() As Color
  • Get
  • Return MyBase.BackColor
  • End Get
  • Set(ByVal Value As Color)
  • If Not m_backBrush Is Nothing Then
  • m_backBrush.Dispose()
  • End If
  • MyBase.BackColor = Value
  • m_backBrush = New SolidBrush(Me.BackColor)
  • Me.Invalidate()
  • End Set
  • End Property
  • Protected Overrides Sub WndProc(ByRef m As Message)
  • Const WM_ERASEBKGND As Int32 = &H14
  • If m.Msg = WM_ERASEBKGND Then
  • Dim g As Graphics = Graphics.FromHdc(m.WParam)
  • If m_backBrush Is Nothing Then
  • m_backBrush = New SolidBrush(Me.BackColor)
  • End If
  • g.FillRectangle(m_backBrush, Me.ClientRectangle)
  • g.Dispose()
  • Else
  • MyBase.WndProc(m)
  • End If
  • End Sub
  • Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  • If disposing AndAlso Not m_backBrush Is Nothing Then
  • m_backBrush.Dispose()
  • End If
  • MyBase.Dispose(disposing)
  • End Sub
  • End Class
Imports System
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms

Public Class MonDTP
    Inherits DateTimePicker

    Private m_backBrush As SolidBrush

    Public Overrides Property BackColor() As Color
        Get
            Return MyBase.BackColor
        End Get
        Set(ByVal Value As Color)
            If Not m_backBrush Is Nothing Then
                m_backBrush.Dispose()
            End If
            MyBase.BackColor = Value
            m_backBrush = New SolidBrush(Me.BackColor)
            Me.Invalidate()
        End Set
    End Property

    Protected Overrides Sub WndProc(ByRef m As Message)
        Const WM_ERASEBKGND As Int32 = &H14

        If m.Msg = WM_ERASEBKGND Then
            Dim g As Graphics = Graphics.FromHdc(m.WParam)
            If m_backBrush Is Nothing Then
                m_backBrush = New SolidBrush(Me.BackColor)
            End If
            g.FillRectangle(m_backBrush, Me.ClientRectangle)
            g.Dispose()
        Else
            MyBase.WndProc(m)
        End If
    End Sub

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso Not m_backBrush Is Nothing Then
            m_backBrush.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub

End Class

Commentaires et avis

signaler à un administrateur
Commentaire de sebmafate le 26/08/2005 11:48:20 administrateur CS

bien... mais petite remarque :
déplace la ligne : Const WM_ERASEBKGND As Int32 = &H14 de ton WndProc dans les déclarations globales.

signaler à un administrateur
Commentaire de lemulot le 24/11/2005 14:55:48

Excellent, mais ForeColor maintenant... ça risque d'être une autre pair de manche.

signaler à un administrateur
Commentaire de Rolan le 12/07/2008 10:37:24

Je ne sais pas comment peut être appliqué à un datetimepicker en vb.net

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

probleme avec un control activeX [ par le fab ] 'lut tout le mondevoila, j'ai créé un control active X moi même, qui est une DBcombobox "customisée"maintenant, lorsque je l'insert dans mon projet, j probleme avec un control activeX [ par le fab ] 'lut tout le mondevoila, j'ai créé un control active X moi même, qui est une DBcombobox "customisée"maintenant, lorsque je l'insert dans mon projet, j probleme avec un control activeX [ par le fab ] 'lut tout le mondevoila, j'ai créé un control active X moi même, qui est une DBcombobox "customisée"maintenant, lorsque je l'insert dans mon projet, j Control ayant propriété strech et HDC [ par azerty25 ] Bonjour allJe suis à la recherche d'une méthode pour redimensionner une image. J'ai pensé très simplement une image dans les objets de VB et d'utilise Propriété WeeK de DateTimePicker [ par jm6fr ] BonjourL'aide indique bien la propriété WeeK du contrôle DateTimePeaker. Or, cette propriété n'est pas affichée dans la liste sensitive du contrôle, e datetimepicker checked [ par yeyedeb ] Bonjour,comment mettre la variable checked d'un contrôle datetimepicker à false en VB NET quand je le veux !!!En effet, dans une appli liée à une base Ajout d'une couleur personalisé sur un bouton en .net avec la propriété BackColor [ par philou169 ] Comment on fait pour ajouter d'une couleur personnalisée sur un bouton en .net avec la propriété BackColor.J’arrive à mettre Comment creer un DLL (Windows control Library) avec des propriété? [ par forum_ma ] Bonjour, j'essaie de me créer un DLL (Windows control Library)  en vb.netJe veux ajouter mes propriété, j'ai trouver un tuto sur c disposer des propriété, methodes d'un control n'importe ou [ par GroSam ] Bonjour!J'ai créé 1 ocx avec a l'interieur plusieurs controle. J'aimerais pouvoir disposer des propriétés, methodes... de ces controle (comboBox par Help erreur 438:propriété ou méthode non gérée par cet objet [ par s_1982 ] bonjour tout le mondebon j'ai un ptit probleme avec un control ActiveX en fait j'ai une application access dont l'un des formulaire est géré


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.