VB6如何实现在表格控件内可以内直接修改内容,而且可以有下拉列表框选择内容。

解决方案 »

  1.   

    datagrid+listPrivate Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
        List1.Visible = False
    End Sub
     
    Private Sub list1_Click()
        List1.Visible = False
        DataGrid1.Text = List1.Text
    End SubPrivate Sub DataGrid1_ButtonClick(ByVal ColIndex As Integer)
        With DataGrid1
            List1.Left = .Left + .Columns(ColIndex).Left
            List1.Top = .Top + .RowHeight * (.Row + 2)
            List1.Width = .Columns(ColIndex).Width
            List1.Visible = True
        End With
        
    End SubPrivate Sub Form_Load()
        With List1
           .Appearance = 0
           .Height = 450
           .AddItem "真"
           .AddItem "假"
           .Visible = False
        End With
        
    End Sub
      

  2.   

    一般情况下可以使用表格控件结合其它控件来实现修改功能,比如msflexGrid+TextBox就可以
      

  3.   

    直接修改内容简单,把表格控件比如DataGrid的属性设置为可更新编辑即可。
      

  4.   

    可编辑的网格控件有很多,但最好用的是VSLFEXGRID,谁用谁知道!
      

  5.   

    10tec iGrid.4.5.For ActiveX
    my blog
    http://ufo-crackerx.blog.163.com/
      

  6.   

    可以试试FlexCell,有例子和中文的帮助:http://www.grid2000.com/cn/
      

  7.   

    Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    Private Sub Form_Load()
        SetParent Text5.hwnd, MSFlexGrid1.hwnd
    End Sub
    Private Sub MSFlexGrid1_Click()
        With MSFlexGrid1
            Text5.Visible = True
            Text5.Move .ColPos(.Col), .RowPos(.Row), .ColWidth(.Col), .RowHeight(.Row)
            Text5.BackColor = &HC0FFC0
            Text5.Text = ""
            If .TextMatrix(.Row, .Col) = "" Then
               Text5.Text = ""
            Else
               Text5.Text = .TextMatrix(.Row, .Col)
            End If
            Text5.SelLength = Len(Text5.Text)
            Text5.SetFocus
        End With
    End SubPrivate Sub Text5_KeyPress(KeyAscii As Integer)
        If KeyAscii <> 13 Then Exit Sub
        If Text5.BackColor = &HC0FFC0 Then
            Text5.Visible = False
            MSFlexGrid1.SetFocus
            MSFlexGrid1.Text = Text5.Text
        End If
    End Sub