Retour chariot dans un msflexgrid sous vb6

chaima01 Messages postés 24 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 11 novembre 2012 - 3 mai 2011 à 18:24
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 4 mai 2011 à 09:23
bonjour ,

comment je peux faire un retour chariot dans un msflexgrid ?
d'aprés les recherches que je vient de les faire , j'ai trouvé qu'il faut utiliser la propriété WordWrap. mais ça marche pas .
je veut afficher dans chaque ligne 10 éléments seulement.Comment faire ???
merci de m'aider

4 réponses

AlKatou Messages postés 95 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 28 novembre 2017
3 mai 2011 à 20:52
salut,

je pense que c'est ce que tu veux obtenir.

Private Sub Form_Load()

    Dim sTextLignes As String

    sTextLignes = ""
    
    MSFlexGrid1.RowHeight(1) = 1500
    MSFlexGrid1.ColWidth(1) = 2500
    MSFlexGrid1.WordWrap = True
    
    For i = 1 To 3
        sTextLignes = sTextLignes & "Ligne n°" & i & vbCr
    Next
    
    MSFlexGrid1.TextMatrix(1, 1) = sTextLignes
End Sub


le retour chariot est la variable système vbCr.


bonne continuation, alKa
0
chaima01 Messages postés 24 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 11 novembre 2012
3 mai 2011 à 22:08
merci pour votre réponse mais ça n'a pas marcher.
voici le code dans le quel je veux faire le retour à la ligne.

Private Sub Command1_Click()
    Label2.Caption = "Surveillance Active"
    Label2.BackColor = &H80FF80
    
Rs1.Open "select adresse_ip, NOM_CELLULE from serveur", cnn, adOpenKeyset, adLockOptimistic

If Rs1.RecordCount > 0 Then
    j = 1
    Rs1.AbsolutePosition = 1
    MSFlexGrid1.Row = 0
    MSFlexGrid1.Col = 0
        Do While Not Rs1.EOF
            MSFlexGrid1.TextMatrix(1, j) = Rs1.Fields("adresse_ip")
            MSFlexGrid1.TextMatrix(2, j) = Rs1.Fields("NOM_CELLULE")
           
            'Get the sockets ready.
        If SocketsInitialize() Then
             'Address to ping
            strIPAddress = MSFlexGrid1.TextMatrix(1, j)
            'Ping the IP that is passing the address and get a reply.
            lngSuccess = ping(strIPAddress, Reply)
            'Display the results.
            Debug.Print "Address to Ping: " & strIPAddress
            Debug.Print "Raw ICMP code: " & lngSuccess
            Debug.Print "Ping Response Message : " & EvaluatePingResponse(lngSuccess)
            Debug.Print "Time : " & Reply.RoundTripTime & " ms"
            'Clean up the sockets.
            SocketsCleanup
        Else
            'Winsock error failure, initializing the sockets.
            Debug.Print WINSOCK_ERROR
            
        End If
With MSFlexGrid1
            .FillStyle = flexFillRepeat
            .Col = j
            .Row = 0
           .ColAlignment(j) = 4
           .RowHeight(0) = 1000
         
    If EvaluatePingResponse(lngSuccess) = "Success!" Then
      Set .CellPicture = LoadPicture("c:\application PFE\serveur1.jpg")
    
    Else
      Set .CellPicture = LoadPicture("c:\application PFE\serveur2.jpg")
    
    End If
 End With

        
    j = j + 1
    Rs1.MoveNext
    
    Loop
End If
Rs1.Close


SVP aider moi
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
4 mai 2011 à 09:22
Bonjour,

A AlKatou, en VB le retour-charriot est vbCrLf (chr$(13) + chr$(10)).

A chaima01, pourquoi tu remplis un par un tes enregistrments dans ton FlexGrid, tu imagines si tu as un recordset de 5000 enregistrements !

Mes essais (pas très poussés m'ayant montré que le FlexGrid n'accepte pas de Recordset en DataSource, utilises plutôt son frère le MSHflexGrid (avec un H) et tu pourras mettre

MSHFlexGrid.DataSource = myRecordset.

beaucoup plus efficient.


Calade
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
4 mai 2011 à 09:23
Pardon , j'ai oublié ton champs sur plusieurs lignes. Essayes de le décomposer dans ta requête en plusieurs strings separés justement par un retour charriot vbCrLf.


Calade
0
Rejoignez-nous