Office中国论坛/Access中国论坛

标题: 通过什么方法可读到滚动条上的数据 [打印本页]

作者: gxlishuxin    时间: 2006-7-2 08:45
标题: 通过什么方法可读到滚动条上的数据
<IMG src="">

如上图所示:在ms access2003的连续窗体的垂直滚动条上,当你点击鼠标时会显示当前窗体上看到的第一条记录。通过什么方法可以读出红圈里的数据?[attach]18827[/attach]


[此贴子已经被作者于2006-7-2 0:50:53编辑过]


作者: gxlishuxin    时间: 2006-7-3 05:26
这一数据并不是指向当前记录,而是窗体或者表及查询显示的在所看到的记录中最上面的头一条。获取这一数据在窗体上应用意义比较大,似乎可以通过API模拟实现窗体纵向滚动条的显示效果,利用滚动条的位移量进一步计算该数值,但这样做就舍近求远了。
作者: gxlishuxin    时间: 2006-7-4 06:50
我用了GetScrollInfo API函数读取没有成功,敬请朋友们帮忙解决。

相关代码如下:

Private Type SCROLLINFO
  cbSize As Long
  fMask As Long
  nMin As Long
  nMax As Long
  nPage As Long
  nPos As Long
  nTrackPos As Long
End Type

Private Declare Function GetScrollInfo Lib "user32" (ByVal hwnd As Long, ByVal n As Long, lpScrollInfo As SCROLLINFO) As Long

Private Sub Command20_Click()
Dim n As Long
Dim SI As SCROLLINFO
  SI.cbSize = Len(SI)
  SI.fMask = SIF_TRACKPOS  '这两句是从msdn.microsoft.com上看到的有关要求,不知用对没有
n = GetScrollInfo(Me.hwnd, SB_VERT, SI)
MsgBox SI.nPos & "  ==" & SI.nTrackPos  '显示的都是0,得不到正确的结果
End Sub

作者: gxlishuxin    时间: 2006-7-6 06:16
已解决GetScrollInfo API函数读取没有成功的问题,具体解决方法参考以下链接:

http://www.experts-exchange.com/Databases/MS_Access/Q_20721576.html
作者: zhengjialon    时间: 2006-7-6 17:15
看起来不错啊,收藏了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3