creata in una form una msflexgrid1 e una text1 il codice da copiare è il seguente (allego anche progettino già pronto) :
Ho solo un problema, dopo aver digitato il dato per confermarlo ( e trasferirlo nella msflexgrid1) con il tasto "invio" viene emesso automaticamente un fastidioso beep, è possibile eliminarlo?
- Codice: Seleziona tutto
Private Sub Form_Load()
MSFlexGrid1.Rows = 10
MSFlexGrid1.Cols = 2
MSFlexGrid1.ColWidth(0) = 0
MSFlexGrid1.RowHeight(0) = 0
End Sub
Private Sub MSFLEXGRID1_KeyPress(KeyAscii As Integer)
Call VISUALIZZA_TEXTBOOK
'SCRIVE SULLA TEXTBOX IL CARATTERE BATTUTO
Text1.Text = Chr(KeyAscii)
Text1.SelStart = Len(Text1.Text) 'SI POSIZIONA ALLA FINE DELLA STRINGA TEXT1
End Sub
Public Function VISUALIZZA_TEXTBOOK()
'CREA UNA TEXT1 DOVE SCRIVERE IL DATO
With Text1
.Visible = True
.Move MSFlexGrid1.Left + MSFlexGrid1.CellLeft, MSFlexGrid1.Top + MSFlexGrid1.CellTop - 10, _
MSFlexGrid1.CellWidth - 8, MSFlexGrid1.CellHeight - 10
.SetFocus
.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col)
.SelStart = 0
.SelLength = 999
.Font = MSFlexGrid1.Font
.FontBold = MSFlexGrid1.FontBold
.FontSize = MSFlexGrid1.FontSize
End With
End Function
Private Sub TEXT1_KeyPress(KeyAscii As Integer)
'SE PREMUTO IL TASTO "INVIO" RIPORTA LA STRINGA DELLA TEXT1 NELLA CELLA DELLA MSFLEXGRID1
If KeyAscii = vbKeyReturn Then
MSFlexGrid1.Text = Text1.Text
Text1.Text = ""
Text1.Visible = False
MSFlexGrid1.SetFocus
End If
End Sub