windev的弹窗详情页滚动条实现方法以及弹窗尺寸规划

按照企业信息系统的设计习惯,我们一般将信息以列表的方式在主窗口展现,同时设置需要展现的字段,一些系统会将这个窗口称为总表页、列表页等。而信息的编辑或完整信息的查询,一般通过一个弹窗来实现,一些系统会将这个窗口称为详情页、表单页等。

详情页有时候内容比较多,这个时候就需要借助滚动条的下拉。在windev官方文档中,没有查到详情页滚动条的实现方式,所以有一段时间都在找实现方案。上一篇博文中,有说到向内部窗口传参的方法,就是为了实现详情页滚动条。这几天玩layout时,发现这个控件也能实现滚动条,因为单个窗口就可以实现弹窗滚动条,所以现在都是用layout的方案来实现。以下划重点,方法其实也很简单:

1、在窗口中建一个layout

2、在layout中排组件,随排随拉长,先不管layout的长度会超过窗口

3、排完后,将layout的整体长度调整到适合窗口大小,这样内容区域长度超过layout的整体长度,滚动条就会自动出现。注意:layout的整体长度,在UI中设置

4、有可能,你关闭了layout的滚动条,可以到details中设置

使用layout实现滚动条,可以带来三个好处,(1)比内部窗口的方式少了一个窗口页面;(2)少一个窗口,也就不再需要向内部窗口传参了;(3)你还可以实现在窗口固定“确认/取消"按钮,排版会更灵活。

 

顺便说一下弹窗尺寸的规划,信息系统中的弹窗,我一般分为以下几类:

1、详情页弹窗,一般用于主信息的新建、修改和查看,我一般设置为(820-1020)*620,两栏显示

2、设置页弹窗,之前我们会把设置类信息专门放到一个设置类目中,但现在更多系统会将设置类按钮放在使用的地方,随时需要随时设置,这样的UI设置更加人性化。这类设置页弹窗在详情页和列表页都有可能出现,但主要是在详情页。这类弹窗,我一般准备两个规格,(650-750)*(450-600),两栏或列表显示;(450-550)*(350-550),单栏显示

3、伪组合框弹窗,有些填报组合框无法实现,我们一般会伪造一个组合框填报,基本原理就是点击图片弹窗,选择完后回传。这类弹窗的大小一般和填报字段编辑框的长度差不多,用openpopupposition函数实现弹窗。

 

2020-10-21补充:

最近发现,超级控件supercontrol也可以实现滚动条功能,和layou相比,在排版上会更简单,滚动条在设计阶段就可以使用。超级控件独立于当前窗口,相当于一个独立的窗口,可以定义自己的Local过程方法,也有自己的初始化事件。父窗口可以通过“超级控件名称.超级控件内部控件名称”的方式,获取内部控件,但是超级控件内部无法获取父窗口的控件,只能通过把值传给超级控件,再由父窗口读取超级控件值的方式来获取,还是比较麻烦!如果不涉及,由超级控制内部传值到外部的过程,有超级控件是比较好!

posted @   functionMC  阅读(306)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示