Pb du au sroll dans une mshflexgrid ..... HELP

cs_kramp Messages postés 13 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 5 novembre 2004 - 24 juil. 2003 à 17:17
cs_kramp Messages postés 13 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 5 novembre 2004 - 25 juil. 2003 à 22:39
j'ai grand besoin de votre aide ... merci d'avance

j'utilise une mshflexgrid pour afficher des données
lors d'un clic souris sur la mshflexgrid, j'ai besoin de récupérer la ligne sur laquelle on a cliqué
tout va bien (je releve les coordonnées du clic e je divise par le nombre de ligne) avec le code suivant :

myForm est la form qui contient myMsHFlexGrid le controle MsHFlexGrid

Private Sub listDevis_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And Shift <> 1 And Shift <> 2 And Shift <> 4 Then
Dim ligne As Integer
Dim colonne As Variant

ligne = Int(Y / 240) + 1

If myForm.myMsHFlexGrid.Rows >= ligne Then
If X < 4800 Then
Dim tmp As Integer
myForm.myMsHFlexGrid.col = 1
tmp = ligne - 1
myForm.myMsHFlexGrid.Row = tmp
'.... je fai ce que j'ai a faire
End If

If X > 6100 Then
ligne = ligne - 1
myForm.myMsHFlexGrid.col = 7
myForm.myMsHFlexGrid.Row = ligne
'.... je fai ce que j'ai a faire
End If
End If

End If
End Sub

Le problème c'est quand le nombre de ligne est trop important. Dans ce cas des scrollbar apparaissent.

mais lorsque je veux relever les coorodnnées du clic, celle qui me sont données (Y) ne sont pas relative au haut de myMsHFlexGrid mais au haut de la partie visible de
myMsHFlexGrid !!!!!!!!!!!!

comment puis je fair pour lui dire prendre pour origine le haut de myMsHFlexGrid ?????

merci merci merci merci.........(994 fois)..........merci et merci encore d'avance

KRAMP

2 réponses

sylric Messages postés 91 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 22 août 2003
25 juil. 2003 à 10:34
J'ai l'impression que tu te donne du mal pour rien :
l'évènement click de msflexgrid donne directement les coordonnées de la case sélectionnée.
Exemple :
Private Sub MSFlexGrid1_Click()
    MsgBox "La case cliquée est : " & MSFlexGrid1.Row & "," & MSFlexGrid1.Col & " et contient : " & MSFlexGrid1.Text
End Sub
0
cs_kramp Messages postés 13 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 5 novembre 2004
25 juil. 2003 à 22:39
des fois je me dit que je suis trop c......
m'enfin

merci beaucoup pour ta réponse

KRAMP
0
Rejoignez-nous