consiliblob
Messages postés29Date d'inscriptionlundi 28 juin 2004StatutMembreDernière intervention 8 août 2004
-
6 juil. 2004 à 18:33
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 2006
-
7 juil. 2004 à 21:39
Bonjour, je cherhce une ou un je c pas le genre lol OCX treeview avec lequel je pourrais changer la couleur d'arrière plan parce que le blanc fait "tache" dans mon application :(
Vous savez ou je peux en télécharger un svp ?
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 7 juil. 2004 à 21:06
C quoi qui marche pas ?
G testé, le seul truc c qu'il faut aussi modifier la couleur des noeuds aussi à chaque fois qu'ils sont modifiés.
Je sais, c un peu galère et g pas encore eu le temps de faire un truc valable tout le temps.
Je vais essayer ça ce soir mais pas garanti.
@+
CanisLupus
Vous n’avez pas trouvé la réponse que vous recherchez ?
ds le module, g rajouté ds le général / déclarations :
Private Const GWL_STYLE As Long = (-16)
Private Const TVS_HASLINES As Long = 2
Private Const TV_FIRST As Long = &H1100
Private Const TVM_SETBKCOLOR As Long = (TV_FIRST + 29)
Private Const TVM_SETTEXTCOLOR As Long = (TV_FIRST + 30)
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Const couleur As Long = vbGreen
et, toujours dans le module la proc suivante :
Public Sub SetTreeViewArrPlan(ByVal treeview As MSComctlLib.treeview, ByVal couleur As Long)
Dim style As Long, noeud As Node
'Changement de l'arrière-plan du treeview
Call SendMessage(treeview.hwnd, TVM_SETBKCOLOR, 0, ByVal couleur)
'réinitialisation de l'arbre
style = GetWindowLong(treeview.hwnd, GWL_STYLE)
'Si l'arbre a des lignes, on les désactive temporairement pour que
'l'arrière-plan se redessine proprement, puis on les réactive
If style And TVS_HASLINES Then
SetWindowLong treeview.hwnd, GWL_STYLE, style Xor TVS_HASLINES
SetWindowLong treeview.hwnd, GWL_STYLE, style
End If
'on change la couleur de fond des noeuds
For Each noeud In F_Main.Explore.Nodes
noeud.BackColor = couleur
Next
End Sub
et ds la form, g rajouté :
SetTreeViewArrPlan Me.Explore, couleur
en fin de proc de CB_Disk_Change et de Explore_Click
Bien sùur, à la place de vbgreen tu choisis une autre couleur si tu veux ou tu gères ça avec toute une gamme de couleurs.
Bon, ça c à toi d'améliorer, mais, brut de brut, chez moi ça marche.