当前位置:编程学习 > VB >>

msflexgrid如何显示钩号?

想双击在MSFlexGrid单元格子上显示钩号,如何实现呢? --------------------编程问答-------------------- 无法实现,LISTVIEW可以 --------------------编程问答-------------------- 你输入这个字符不就可以了√ --------------------编程问答-------------------- √

回复内容太短了! --------------------编程问答-------------------- 楼上什么意思? --------------------编程问答-------------------- LZ的意思是显示复选框还是?? --------------------编程问答-------------------- 如果只是想显示一个钩号可以找一个钩号图片,然后设置单元格的背景图片来实现。 --------------------编程问答-------------------- --------------------编程问答-------------------- 我的做法是:使用1和0来判断 MshflexGrid 中行的选定状况,楼主你可以切入一个 Checkbox 控件来实现,只是把1选定值修改为√就可以了,部分源码如下:


'This Object is used for Show Production Reporting Details Information
Private Sub MSHFlexGrid1_EnterCell()
    Call ShowCheckBoxOneMSHFlexList(MSHFlexGrid1, chkProdDtlItems)
End Sub

Public Function ShowCheckBoxOneMSHFlexList(ByVal objMshflex As MSHFlexGrid, ByVal ObjChkBox As CheckBox)
If objMshflex.Col > 1 Then
    ObjChkBox.Enabled = False
    ObjChkBox.Visible = False
Else
    ObjChkBox.Enabled = True
    ObjChkBox.Visible = True
    
    ObjChkBox.Top = objMshflex.Top + objMshflex.CellTop
    ObjChkBox.Left = objMshflex.Left + objMshflex.CellLeft + 10
    ObjChkBox.Width = objMshflex.CellWidth
    ObjChkBox.Height = objMshflex.CellHeight
    ObjChkBox.Value = Val(objMshflex.Text)
End If
End Function

Private Sub chkProdItems_Click()
    Call SetValueToMshflexCell(MSHFlexGrid2)
End Sub

Public Function SetValueToMshflexCell(ByVal objMshflex As MSHFlexGrid)
    objMshflex.Text = chkProdItems.Value
End Function

--------------------编程问答-------------------- 不是现实复选框,是打上对号。 --------------------编程问答-------------------- 就一图片。

8楼的方法挺好。 --------------------编程问答-------------------- 双击列判断单元格中的内容是不是"√",如果是刚将单元格内容清空,否则将单元格内容设为"√" --------------------编程问答--------------------
Private Sub MSFlexGrid1_DblClick()
    With MSFlexGrid1
        .CellAlignment = flexAlignCenterCenter
        .RowData(.MouseRow) = Not .RowData(.MouseRow)
        If .RowData(.MouseRow) Then
            .TextMatrix(.MouseRow, .MouseCol) = "√"
        Else
            .TextMatrix(.MouseRow, .MouseCol) = ""
        End If
    End With
End Sub

捞10分可用分走人
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,