Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]用命令按钮实现子窗体上下滚动的效果怎么实现

王三平  发表于:2011-01-07 13:59:02  
复制

想实现这么一个效果。

主窗体包含一子窗体,子窗体内容较多,隐藏子窗体的滚动条。点击《向上》按钮,子窗体往上移动。点击《向下》按钮,子窗体向下移动。说白了,就是实现滚动条的向上和向下操作,但是不显示滚动条。

 

Top
煮江品茶 发表于:2011-01-07 14:18:13
请参见《子窗体翻页》一文

王三平 发表于:2011-01-10 09:39:51

首先谢谢你的解答。

但是你可能误会了我的意思。

我的子窗体视图是单一窗体,不是数据表视图。

我的子窗体是一个纵向的菜单按钮列表,当窗口显示不下时,可以上下滚动。

就象UMV平台的导航菜单一样。



煮江品茶 发表于:2011-01-10 10:20:24

那应该更简单吧?似乎这样搞就可以了:

 

Function 翻动(SubfrmCtrl As Control, B As Boolean)
'参数:SubfrmCtrl--子窗体控件,B--前翻/后翻判断变量
SubfrmCtrl.SetFocus
Select Case B
    Case -1
        If SubfrmCtrl.Form.EOF = True Then
            DoCmd.RunCommand acCmdRecordsGoToNext
        End If
    Case 0
        If SubfrmCtrl.Form.BOF = True Then
            DoCmd.RunCommand acCmdRecordsGoToPrevious
        End If
End Select
End Function



煮江品茶 发表于:2011-01-10 10:44:30

 

 

 

 

 

点击下载此附件

王三平 发表于:2011-01-10 11:15:30

对不起,你的答案仍然无法解答。

子窗体是没有任何记录的,不绑定任何记录源。



王三平 发表于:2011-01-10 11:17:10
我想实现的是UMV平台中的,控制面板中的左导航子窗体中的,菜单控件列表的中向上和向下按钮单击移动的效果。

煮江品茶 发表于:2011-01-10 11:29:31

呵呵,鬼打架的。原来是这样一个要求。

可以用两种方法解决:其一是整页的上下翻动,可在子窗体中插入若干页控件,然后用代码进行翻页;其二是不分页用Move或者Top移动。



王三平 发表于:2011-01-10 11:43:41
试问,可不可以,模仿点击事件是,移动滚动条的事件呢.要是按老乡你提供的思路,代码太多了.

煮江品茶 发表于:2011-01-10 13:54:11

不知道必须在多少句代码以内完成?

我觉得不应该是一个太难的事情,但是代码的条数如果要限制的话(我估计应该在10左右,少于这个范围有点难度),可能需要利用窗体属性进行一些设置。



王三平 发表于:2011-01-10 15:08:33

具体示例如下,请帮忙.

点击下载此附件

王三平 发表于:2011-01-10 15:39:02
谢谢,插入几个分页符,直接用SendKeys "{PGUP}" 就实现了,就两句代码.

煮江品茶 发表于:2011-01-10 16:34:01

分页符有一个缺陷是不连续或跳跃比较大,比较好的处理方法是用GoToPage解决。比如:

 

 

 

 

 

 

 

点击下载此附件

总记录:12篇  页次:1/1 9 1 :