OVH Cloud OVH Cloud

Pb dans MSFlexgrid

2 réponses
Avatar
JCM
Bonjour

Fran=E7ois m'a recommand=E9 de consulter la fiche 241355 pour=20
r=E9gler un plobl=E9me de saisie dans un MSFlexgrid.

j'ai consult=E9 cet article, mais il change le contenu de la=20
cellule par l'interm=E9diaire d'une TextBox
je voudrais saisir directement le contenu dans la cellule

Est-ce possible ?
Cordialement
JCM

2 réponses

Avatar
Zoury
oui.. même article.. va lire ma réponse dans l'autre fil...
Avatar
David
Bonjour,

Voici un début de solution (à améliorier bien sur ! ! )


Dim memocol
Dim memorow
Private Sub Form_Load()

Text1.Visible = False
memocol = 1
memorow = 1
End Sub

Private Sub MSFlexGrid1_Click()
Text1.Visible = False
drapeau = 1
End Sub

Private Sub MSFlexGrid1_DblClick()
Text1.Visible = True
GridEdit Asc(" ")
memorow = MSFlexGrid1.MouseRow
memocol = MSFlexGrid1.MouseCol
drapeau = 2
End Sub

Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If drapeau = 2 Then
GridEdit KeyAscii
End If
End Sub

Sub GridEdit(KeyAscii As Integer)
'correcte font
Text1.FontName = MSFlexGrid1.FontName
Text1.FontSize = MSFlexGrid1.FontSize
Select Case KeyAscii
Case 0 To Asc(" ")
Text1 = MSFlexGrid1
Text1.SelStart = 1000
Case Else
Text1 = Chr(KeyAscii)
Text1.SelStart = 1
End Select

'position du textbox
Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
Text1.Width = MSFlexGrid1.CellWidth
Text1.Height = MSFlexGrid1.CellHeight
Text1.Visible = True
Text1.SetFocus
End Sub


Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
MSFlexGrid1.TextMatrix(memorow, memocol) = Text1
End Sub


Jean-Pol DAVID


"JCM" a écrit dans le message de news:
038a01c3dc29$b193f720$
Bonjour

François m'a recommandé de consulter la fiche 241355 pour
régler un plobléme de saisie dans un MSFlexgrid.

j'ai consulté cet article, mais il change le contenu de la
cellule par l'intermédiaire d'une TextBox
je voudrais saisir directement le contenu dans la cellule

Est-ce possible ?
Cordialement
JCM