设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1916|回复: 4
打印 上一主题 下一主题

[其它] 通过什么方法可读到滚动条上的数据

[复制链接]
跳转到指定楼层
1#
发表于 2006-7-2 08:45:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<IMG src="">

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


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2006-7-3 05:26:00 | 只看该作者
这一数据并不是指向当前记录,而是窗体或者表及查询显示的在所看到的记录中最上面的头一条。获取这一数据在窗体上应用意义比较大,似乎可以通过API模拟实现窗体纵向滚动条的显示效果,利用滚动条的位移量进一步计算该数值,但这样做就舍近求远了。
3#
 楼主| 发表于 2006-7-4 06:50:00 | 只看该作者
我用了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
4#
 楼主| 发表于 2006-7-6 06:16:00 | 只看该作者
已解决GetScrollInfo API函数读取没有成功的问题,具体解决方法参考以下链接:

http://www.experts-exchange.com/Databases/MS_Access/Q_20721576.html

点击这里给我发消息

5#
发表于 2006-7-6 17:15:00 | 只看该作者
看起来不错啊,收藏了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-13 12:35 , Processed in 0.100653 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表