如何在grid内添加按钮?

eken 2002-05-28 05:23:24
像asp一样做出来的数据浏览表格,每一行都有一个按钮,该如何做出来?
...全文
265 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hillmanweb 2002-05-29
  • 打赏
  • 举报
回复
可以实现这个要求,但是非常麻烦,因为动态生成的控件如果想要响应由 ActiveX 对象所触发的事件,必须由WithEvents关键字声明,如下所示:Private WithEvents btnObj As CommandButton ,但其中有一个缺陷,不能用 WithEvents 创建数组。New 和 WithEvents 也不能一起使用。这就导致了这样的事实:你必须在程序运行之前就知道有多少行,这样才可以生产相应数量的按钮,然而这还不是最要命的,你还必须在运行时动态添加相应的事件,我不知道这样能不能实现这样的效果,但绝对是非常麻烦的一件事。

以上是我的一点粗浅见识,不知道各位高手有无更好的解决方案,还请指教!
eken 2002-05-29
  • 打赏
  • 举报
回复
这只是想要删除那一行的时候在那一行出现的吧,我想要出现的是不用点击就可以出现在所有的行中,每一行一个按钮~ 不知道是否太高要求?
eken 2002-05-29
  • 打赏
  • 举报
回复
看来我这个念头该取消了~ hehe
hillmanweb 2002-05-28
  • 打赏
  • 举报
回复
grid 吗?
好象不行吧!
但是如果用MSFlexGrid控间或者MSHFlexGrid就可以,要实现可如下设置:
新建一个工程,在窗体上放一个MSFlexGrid控间和一个按钮,在代码区粘贴如下代码:

Private Sub Form_Load()
Command1.Caption = "…"
With MSFlexGrid1
.Rows = 10
.Cols = 5
.RowHeightMin = 300
End With
End Sub

Private Sub MSFlexGrid1_Click()
With MSFlexGrid1
Command1.Left = .Left + .CellLeft + .CellWidth - 375
Command1.Top = .Top + .CellTop
Command1.Width = 375
Command1.Height = .CellHeight
Command1.Visible = True
End With
End Sub

运行看看,是不是你想要的效果??
eken 2002-05-28
  • 打赏
  • 举报
回复
到底该用什么,mshflexgrid? dbgrid?
ILP 2002-05-28
  • 打赏
  • 举报
回复
grid 吗?
好象不行吧!
换换别的吧!
grid 的功能巨少!

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧