Fullrowselect et grilines===>help

rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007 - 15 févr. 2006 à 10:25
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 16 févr. 2006 à 21:28
Bonjours à tous.
Voila, j'ai longtemps parcouru le forum et les différents codes sources, mais je ne trouve pas mon bonheur.
Mon problème est assez (visual) basic.En fait, j'ai une listview, mais je n'arrive pas à
1-sélectionner une ligne entière, il ne sélectionne que la première item.Et quand je met le fullrowselect à true, une erreur apparait, me disant "méthode ou membre de données introuvable".
2-Il me met exactement la même erreur pour le listview.gridLines = true

J'ai beau chercher, je ne trouve pas.Si qqun pouvait me filer un coup de pouce...merci

15 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
15 févr. 2006 à 16:59
t'as pas la bonne version

Microsoft Windows Common Controls 6.0 (au moins SP4)

Daniel
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
15 févr. 2006 à 17:01
Et comment puis je faire pour avoir la bonne??
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
15 févr. 2006 à 17:03
Je viens regarder, elle est sélectionnée. c'est la sp6.
J'avoue que je ne comprend pas tout...
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
15 févr. 2006 à 17:13
et ça apparaît dans les propriétés ?

sinon vérifie la version MSCOMCTL.OCX

ou télécharge

Daniel
0

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

Posez votre question
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
15 févr. 2006 à 17:18
et bien oui, elel est sélectionnée et elle apparaît.lol.
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
15 févr. 2006 à 17:30
ben alors ça doit marcher

dans Form_Load

ListView1.FullRowSelect = True

ListView1.GridLines = True


j'ai essayé dans tous les sens, avec tous les paramètres possibles

impossible de provoquer une erreur

bizarre !


Daniel
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
15 févr. 2006 à 17:34
ba oui, c'est bisard.Mon code est:

With ListView_SupprPiece_Affichage
.View = view.Details
.FullRowSelect = True
'.LabelEdit = True
.GridLines = True
.HideColumnHeaders = False
.ColumnHeaders.Add , , "N° Pièce"
.ColumnHeaders.Add , , "Nom Fournisseur"
.ColumnHeaders.Add , , "Référence"
.ColumnHeaders.Add , , "Type de la pièce" '
.ColumnHeaders.Add , , "Caractéristiques"
.ColumnHeaders.Add , , "Type de matériaux"
.ColumnHeaders.Add , , "Coefficient"
.ColumnHeaders.Add , , "Hauteur"
.ColumnHeaders.Add , , "Profondeur"
.ColumnHeaders.Add , , "Largeur"
.ColumnHeaders.Add , , "Prix HT"
.ColumnHeaders.Add , , "Prix TTC"
.ColumnHeaders.Add , , "Date d'ajout"
End With

c'est peut etre un problème au niveau du view.Details.....jen e sais pas trop
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
15 févr. 2006 à 17:39
Jé téléchargé un autre MSCOMCTL.OCX, mais ca ne marche toujours pas....


a la place de .view = view.details, j'avais mis lvwReport, mais rien y fait....
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
15 févr. 2006 à 17:52
ça a l'air bon sauf view.Details que je sais pas ce que c'est.View lvwReport ou .View 3 c'est mieux

mais même sans ou avec autre chose ça provoque même pas d'erreur





Daniel
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
15 févr. 2006 à 17:55
Et bien le monde est encore rempli de nombreux mistères.....
Merci qd même.Si un flash te survien, tu m'fait signe.
ciao
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
16 févr. 2006 à 19:23
peut être avec les APi's ??

grace à 2 fonctions:

pour mettre: Rep = fLVFullRowSelect(ListView1)


pour enlever: Rep = fResetLVFullRowSelect(ListView1)



Private Const LVM_FIRST As Long = &H1000
Private Const LVM_SETEXTENDEDLISTVIEWSTYLE As Long = LVM_FIRST + 54
Private Const LVM_GETEXTENDEDLISTVIEWSTYLE As Long = LVM_FIRST + 55
Private Const LVS_EX_FULLROWSELECT As Long = &H20

Private Declare Function apiSendMessageLong Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) _
As Long

Private Function fLVFullRowSelect(LV As Control) As Boolean
Dim lngStyle As Long

lngStyle = apiSendMessageLong(LV.hwnd, LM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)

If lngStyle And LVS_EX_FULLROWSELECT Then
fLVFullRowSelect = True
Else fLVFullRowSelect (apiSendMessageLong(LV.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, True) 0)
End If
End Function

Private Function fResetLVFullRowSelect(LV As Control) As Boolean
Dim lngStyle As Long

lngStyle = apiSendMessageLong(LV.hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0&, 0&)

If lngStyle And LVS_EX_FULLROWSELECT Then fResetLVFullRowSelect Not (apiSendMessageLong(LV.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, 0) 0)
Else
fResetLVFullRowSelect = True
End If
End Function
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
16 févr. 2006 à 20:42
J'a bien copié ce que tu avais marqué, mais je ne sais pas trop comment ca marche.
En tous cas, il ne me marque pas d'erreur, mais je ne dois pas savoir comment ca fonctionne.
c'est ce que tu as marqué qui m'intrigue
> pour mettre: Rep = fLVFullRowSelect(ListView1)
pour enlever: Rep = fResetLVFullRowSelect(ListView1)
Je ne sais pas trop à quoi cela correspond, comme pour les API's dailleurs...jgalèèèèèèèèère lol
En tous cas merci de ton aide, je touche presque au but (presque...)
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
16 févr. 2006 à 20:51
c'est pour lancer la fonction

ça envoit un SendMessage à la ListView pour ajouter le style LVS_EX_FULLROWSELECT

mais s'il y est déjà ça ne fait rien





Dim Rep As Long

Rep = fLVFullRowSelect(ListView1)

if Rep Then MsgBox "c'est bon"



ou directement:

If fLVFullRowSelect(ListView1) Then MsgBox "C'est bon"





Daniel
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
16 févr. 2006 à 21:04
Bonne nouvellee cher Danie!!!
Ca ne marche pas.lol. En fait la msgbox "cest bon" saffiche correctement, mais lorsque je sléectionne un élément de ma listview, je n'est que la première item de sélectionnée....encore et encore.
Sincèrement, je ne vois vraiment pas ce qui cloche.
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
16 févr. 2006 à 21:28
il l'a pas fait le SendMessage ... je parie

parce que tu l'as déjà !!

réinstaller Vb ... à tes riques et périls


Daniel
0