Chercher ocx treeview

consiliblob Messages postés 29 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 8 août 2004 - 6 juil. 2004 à 18:33
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 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 ?

5 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
6 juil. 2004 à 20:08
Salut,

Va voir cette adresse :

http://vb.developpez.com/faq/?page=Controles#bg_treeview

Cordialement

CanisLupus
0
consiliblob Messages postés 29 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 8 août 2004
6 juil. 2004 à 21:24
Merci CanisLupus , meme po besoin d'ocx CoOl!
0
consiliblob Messages postés 29 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 8 août 2004
7 juil. 2004 à 14:56
Sauf que ca marche po :-(
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
7 juil. 2004 à 21:39
Bon, g testé et ça marche :

G pris le code d'origine là :

http://www.vbfrance.com/code.aspx?ID=22280

et g modifié comme ça :

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.

Cordialement

CanisLupus
0
Rejoignez-nous