Minggu, 28 Oktober 2012

Mengeset MSFlexGrid VB 6.0 Menjadi Editable, Bisa Diedit Pengguna

Masalah ini sudah bertahun-tahun "menghantui" Penulis ketika sedang menggunakan MSFlexGrid pada Visual Basic 6.0. Karena jika menggunakan MSFlexGrid pada VB 6.0 secara default ketika program hasilnya dijalankan, pengguna tidak akan bisa mengedit isi cell Flex Grid dengan cara apapun. Jadi harus dari input TextBox lain baru bisa dimasukkan ke MSFlexGrid secara program.

Kemarin setelah terpaksa searching ternyata ada cara yang sangar cerdas untuk membuat agar MSFlexGrid bisa diedit (editable) dengan memanfaatkan event KeyPress yang akan menuliskan Karakter yang ditekan ke dalam Cell MSFlexGrid yang sedang aktif. Kok tidak sejak dulu ketemu ya :)

Private Sub fgMatriks_KeyPress(KeyAscii As Integer)
'http://cariprogram.blogspot.com
'nuramijaya@gmail.com
'sumber : http://www.freevbcode.com/ShowCode.asp?ID=3034
    With fgMatriks
        Select Case KeyAscii
                
            Case 8: 'IF KEY IS BACKSPACE THEN
                If .Text <> "" Then .Text = _
                 Left$(.Text, (Len(.Text) - 1))
            Case 13: 'IF KEY IS ENTER THEN
                Select Case .Col
                    Case Is < (.Cols - 1):
                        SendKeys "{right}"
                    Case (.Cols - 1):
                        If (.Row + 1) = .Rows Then
                            .Rows = .Rows + 1
                        End If
                        SendKeys "{home}" + "{down}"
                End Select
            Case Else
                .Text = .Text + Chr$(KeyAscii)
                'write your own keyascii Validations under
                       'commented lines
                Select Case .Col
                    Case 0, 1, 2:
                        'if (your condition(s)) then
                            'accept only charectors
                        'Else
                        '   keyascii=0
                        'End If
                    Case Else:
                End Select
        End Select
    End With
End Sub

Semoga bermanfaat.