其实挺简单的 With MSHFlexGrid1 Combo1.Left = .CellLeft+X Combo1.Top = .CellTop+X Combo1.Visible = True End With X为调整的位移 至于细节 楼主可以再适当调整下
计算好行列所在的坐标位置,把控件加上去覆盖住相应的单元格就可以了。但这样不好,如果栅格滚动的话,你的控件也得增加滚动的代码,写起来复杂。使用checkbox控件,主要属性就是caption、value。 我以前就是做一个模仿checkbox控件效果的过程。 用字符"√"代表value=Checked, 字符"×"代表value=UnChecked ,"■"代表value=Grayed。 这些值可以直接显示在msflexgrid的单元格里。再写一段鼠标点击单元格模仿点击checkbox的代码搞定。写几句提示代码:Private Sub grdABCD_Click() With grdABCD If .Text= "■" Then Exit Sub If .Text= "√" Then .Text= "×" Else .Text= "√" End If End With End Sub
With MSHFlexGrid1
Combo1.Left = .CellLeft+X
Combo1.Top = .CellTop+X
Combo1.Visible = True
End With
X为调整的位移
至于细节 楼主可以再适当调整下
用字符"√"代表value=Checked, 字符"×"代表value=UnChecked ,"■"代表value=Grayed。
这些值可以直接显示在msflexgrid的单元格里。再写一段鼠标点击单元格模仿点击checkbox的代码搞定。写几句提示代码:Private Sub grdABCD_Click()
With grdABCD
If .Text= "■" Then Exit Sub
If .Text= "√" Then
.Text= "×"
Else
.Text= "√"
End If
End With
End Sub
http://community.csdn.net/Expert/topic/5431/5431990.xml?temp=.9081537