高分询问VB鼠标事件的一个问题

我有查询程序产寻后会直接显示一个MSFlexGrid的框架里面是自动填充的现在我想把添加功能改成直接在MSFlexGrid中完成也就是点击一下MSFlexGrid空的一行... 我有查询程序 产寻后会直接显示一个 MSFlexGrid的框架里面 是自动填充的 现在我想把添加功能改成直接在 MSFlexGrid 中完成 也就是点击一下MSFlexGrid空的一行就马上可以变成文本框 可以输入数据 该如何做 并取得这个输入的值 展开
 我来答
chenninghh
2010-10-11 · TA获得超过594个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:285万
展开全部
msflexgrid 控件内的内容不可以直接编辑,必需用赋值的办法,建立一个文本框,在输入内容的时候让文本框可见,进行输入,检测text的键盘、鼠标事件,输入完后将文本框的内容赋值给msglexgrid控件,然后隐藏文本框就可以了,具体代码较多,我有vb 的代码。
weizan2008
2010-10-11 · 超过21用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:51.8万
展开全部
这样做可以麼?

1,添加一个文本框,Visible设为False.
2,在MSFlexGrid_Click事件中将刚才添加文本框位置移到你点击的那格位置
再将Visible属性设为True...
3,写...
4,读...

不知道你是不是这个意思...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dragon9565
2010-10-13 · TA获得超过223个赞
知道答主
回答量:114
采纳率:0%
帮助的人:120万
展开全部
Dim row1, col1

Private Sub Command1_Click()
MSHFlexGrid1.TextMatrix(row1, col1) = Text1
End Sub

Private Sub MSHFlexGrid1_Click()
row1 = MSHFlexGrid1.MouseRow
col1 = MSHFlexGrid1.MouseCol
Text1.Width = MSHFlexGrid1.CellWidth
Text1.Height = MSHFlexGrid1.CellHeight
Text1.Left = MSHFlexGrid1.CellLeft + Me.MSHFlexGrid1.Left
Text1.Top = MSHFlexGrid1.CellTop + Me.MSHFlexGrid1.Top

Me.Text1 = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, MSHFlexGrid1.Col)
End Sub

代码如上,这样就能实现你的问题,不过,在修改了数据后,不能用鼠标点击其它单元,只能通过点击按妞,才能将修改后的数据保存在MSHFlexGrid控件的单元格中去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式