如何判别mshflexgrid的当前行是当前窗口的最后一行?

ccc36 2009-06-04 11:32:49
用mshflexgrid输入数据到最后一行时,回车可以切换到下一行,虽然焦点已经切换到下一行第一个单元格,但是网格并不自动向上滚动一行,看不到当前的单元格,必须输入数据或再敲个回车时才向上滚动,很不舒服。而用向下键时是默认向上滚动一行。
我想用mshflexgrid.TopRow = mshflexgrid.TopRow + 1 让表格向上滚动一行,但要判别当前行是不是在当前窗口的最后一行,如何判别? 谢谢!

   Case vbKeyReturn
mshflexgrid.SetFocus
DoEvents
If mshflexgrid.Col >= mshflexgrid.Cols - 1 Then
If mshflexgrid.Row < mshflexgrid.Rows - 1 Then
mshflexgrid.Row = mshflexgrid.Row + 1
mshflexgrid.Col = mshflexgrid.FixedCols
End If
Else
mshflexgrid.Col = mshflexgrid.Col + 1
End If

Case vbKeyDown
mshflexgrid.SetFocus
DoEvents
If mshflexgrid.Row < mshflexgrid.Rows - 1 Then
mshflexgrid.Row = mshflexgrid.Row + 1
End If
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccc36 2009-06-04
  • 打赏
  • 举报
回复
是对的。
If mshflexgrid.RowIsVisible(mshflexgrid.Row + 1) = False Then
mshflexgrid.TopRow = mshflexgrid.TopRow + 1
End If

非常感谢!!!
yachong 2009-06-04
  • 打赏
  • 举报
回复
有个属性rowisvisible之类的,记不清楚,大概是这个名字

1,451

社区成员

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

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