vb中如何让MSFLEXGRID绑定combobox控件,望高手指教

vb中如何让MSFLEXGRID绑定combobox控件,双击msflexgrid某个单元格时,可以出现combobox控件,并可以选择combobox控件下拉列表的内容... vb中如何让MSFLEXGRID绑定combobox控件,双击msflexgrid某个单元格时,可以出现combobox控件,并可以选择combobox控件下拉列表的内容添加到msflexgrid这个单元格内,请问高手应该怎么做呀?解决问题后,将非常感谢,在线等 效果如下图所示 展开
 我来答
爱栀竹的人
2013-10-31 · TA获得超过1352个赞
知道大有可为答主
回答量:1743
采纳率:0%
帮助的人:987万
展开全部
不能绑定。但可以实现你说的功能
实现的思路: 在msflexgrid的click事件中写处理代码,在点击的一瞬间把控件移动到当前列并显示出来。
搞一个窗口,添加msflexgrid命名为flex1;添加一个combox;窗口中添加下面的代码
(请你自己写flex1的初始化行列代码和添加combox1的项目)

Private Sub Flex1_Click()
with flex1

if .col=4 then
s_SetPosition combox1 '调用 s_SetPosition 把combox1 移动到第四列
end if
end with
end sub
‘把控件移动到flex1的当前列的过程
Private Sub s_SetPosition(oObj As Object)
Dim i
With Flex1
oObj.Top = .Top + .RowPos(.Row) + 50
If .Col = 5 Then oObj.Top = oObj.Top + 20
oObj.Left = .Left + 50
For i = 0 To .Col - 1
oObj.Left = oObj.Left + .ColWidth(i)
Next i
oObj.Visible = True
oObj.SetFocus
End With
End Sub
'在combox1的失去焦点事件中让他不可见。
Private Sub combox1_LostFocus()
combox1.Visible = False
End Sub
更多追问追答
追问
谢谢你的回答,我还有点问题,为什么程序一开始要把从combobox移到第四列呢?s_SetPosition什么意思呢?还有“oObj”什么意思,代表combobox吗?我看的有点迷糊的
追答
第四列是我的例子,你使用时,是第几列,列数由你决定,是你想让combox出现的那一列。
oObj 是对象变量,也就是说,你还可以用来来实现msflexgrid里出现其他对象,比如文本框,这样,表格里可以输入;出现checkbox,出现单选钮等等....

光看没用,多做!把代码加到窗口里,看运行效果...
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式