php form 添加滚动条,给VB窗体加滚动条是否有新的办法解决思路
当前位置:我的异常网» VB » 给VB窗体加滚动条是否有新的办法解决思路
给VB窗体加滚动条是否有新的办法解决思路
www.myexceptions.net 网友分享于:2013-01-08 浏览:30次
给VB窗体加滚动条是否有新的办法
程序所有窗体已设计好了,用加图片的方法实现似乎已很困难,请问大家是否有什么新的办法?谢谢
------解决方案--------------------
加滚动条本身很容易,一两句代码就可以实现,关键是我们加的滚动条要能响应事件,所以没什么简单的办法
------解决方案--------------------
偶现在用的也是关于图片的超长窗体,楼主可试试下面方法:
先在窗体上拖一个双屏幕长的frame1框(你的所有内容都可以在这上面拖出),高18000;宽15085;(窗体的属性Scalemode取1-Twip)
然后拖水平与垂直的两个滚动条;(注意:要在窗体上拖出)
Vscrloo1(竖滚动条)属性:LargeChange=20000,Max=11055
HScroll1(横)属性:LargeChange=8000;Max=1000;Top=18000;Width=14040
上面是偶的选用参数,你也可自选;
建立一个模块:下面代码放进去
Option Explicit
Public Type POINTL
x As Long
y As Long
End Type
Declare Function CallWindowProc _
Lib "user32 " Alias "CallWindowProcA " _
(ByVal lpPrevWndFunc As Long, _
ByVal hwnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Declare Function SetWindowLong _
Lib "user32 " Alias "SetWindowLongA " _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Declare Function SystemParametersInfo _
Lib "user32 " Alias "SystemParametersInfoA " _
(ByVal uAction As Long, _
ByVal uParam As Long, _
lpvParam As Any, _
ByVal fuWinIni As Long) As Long
Declare Function ScreenToClient Lib "user32 " _
(ByVal hwnd As Long, xyPoint As POINTL) As Long
Public Const GWL_WNDPROC = -4
Public Const SPI_GETWHEELSCROLLLINES = 104
Public Const WM_MOUSEWHEEL = &H20A
Public WHEEL_SCROLL_LINES As Long
Global lpPrevWndProc As Long
Public Sub Hook(ByVal hwnd As Long)
lpPrevWndProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc)
Call SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, WHEEL_SCROLL_LINES, 0)
If WHEEL_SCROLL_LINES > Form1.VScroll1.Max Then
WHEEL_SCROLL_LINES = Form1.VScroll1.Max
End If
End Sub
Public Sub UnHook(ByVal hwnd As Long)
Dim lngReturnValue As Long
lngReturnValue = SetWindowLong(hwnd, GWL_WNDPROC, lpPrevWndProc)
End Sub
Function WindowProc(ByVal hw As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Dim pt As POINTL
Select Case uMsg
Case WM_MOUSEWHEEL
If wParam = -7864320 Then
If Form1.VScroll1.Value <= Form1.VScroll1.Max - 300 Then '4个300值可调鼠标滚轮移动屏幕的速度,可取300-1000(值越大,移动速度越快)
Form1.VScroll1.Value = Form1.VScroll1.Value + 300
Else
Form1.VScroll1.Value = Form1.VScroll1.Max
End If
ElseIf wParam = 7864320 Then
If Form1.VScroll1.Value > = 300 Then
Form1.VScroll1.Value = Form1.VScroll1.Value - 300
Else
Form1.VScroll1.Value = 0
End If
End If
Case Else
WindowProc = CallWindowProc(lpPrevWndProc, hw, uMsg, wParam, lParam)
End Select
End Function
Public Function HIWORD(LongIn As Long) As Integer
HIWORD = (LongIn And &HFFFF0000) \ &H10000
End Function
Public Function LOWORD(LongIn As Long) As Integer
LOWORD = LongIn And &HFFFF&
End Function
下面代码放在窗体中:
Private Sub Form_Load()
Hook Me.hwnd
End Sub
Private Sub Form_Resize()
If Frame1.Height > Me.Height Then
VScroll1.Visible = True
Else
VScroll1.Visible = False
文章评论
php form 添加滚动条,给VB窗体加滚动条是否有新的办法解决思路相关推荐
- java给界面添加滚动条_Java Swing学习笔记:要求会默写或熟练的,GUI,控件,设置列或行,加滚动条,新界面...
GUI:Java的图形化用户界面 学习其控件的使用 JLabel(文本控件),JTextField(文本框),JPassworldField(密码框),JButton(普通按钮) JRadioButt ...
- php form 添加滚动条,element 使用总结(1. tree使用 2. table修改滚动条样式 3. el-form 自定义label添加icon)...
一, vue_elementUI_ tree树形控件 1.默认点击tree节点的第一个(注意不是checked选中) @node-drop="handleDrop"ref=&qu ...
- html中加滚动条,html中的div添加滚动条
无标题文档 .css{ width:50px; border:1px solid red; /* overflow-x:scroll;左右滚动 overflow-x:scroll;上下滚动 overf ...
- C# 窗体加载假死,异步刷新总结
文章来源:http://blog.sina.com.cn/s/blog_621e24e201015r29.html 总结:1.control.Invoke 和 Control.BeginInvoke都 ...
- 微信小程序获取滚动条高度_小程序超过高度加滚动条 小程序尺寸规范
DW里如何设置自适应屏幕高度,且内容超出时出现滚动条? 首先:打开DW并创建一个新的HTML页面.第二:为它的页面写一个div,类pingmu.第三,保存这个文件.第四:创建一个新的类样式,并为其Di ...
- vb mysql加载控件_VB如何连接ACCESS数据库详解
首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步: 读取文件 -- 格式化数据 -- 关闭文件 -- 使用数据 如果数据量较 ...
- C#设计抽奖程序。窗体加载上来时,标签显示:开始抽奖。单击命令按钮,产生一个1到100的随机数,标签上显示:恭喜第?号,您中奖了。
设计抽奖程序.窗体加载上来时,标签显示:开始抽奖.单击命令按钮,产生一个1到100的随机数,标签上显示:恭喜第?号,您中奖了. 提示:label1.Text = "恭喜第" + i ...
- html多行文本框加滚动条,textbox多行带滚动条
textbox允许有滚动条的属性是什么? 首先设置成TextMode=MultiLine; 再右边属性查找ScrollBars 设置为 Vertical 或者both C# textbox多行时如何让 ...
- html显示php值,HTML窗体加载显示通过PHP的十六进制值
我想动态加载一个窗体,将填充从SQL数据库中的行数.数据返回一个十六进制颜色,名称和价格.我想在窗体和POST上向用户显示颜色和名称,我想发送附加到该特定颜色的价格.我花了整整一天的时间来弄清楚这一点 ...
最新文章
- 互联网协议 — 动态路由协议类型
- java中super的作用
- 因果推断 - 反事实
- SpringBoot中关于Shiro权限管理的整合使用
- 第四单元博客总结——暨OO课程总结
- HBase出现java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration问题
- linux设置免密ssh,Linux终端设置免密登陆ssh(以 XShell 为例)
- ora-12154问题处理
- Golang Gin实践 连载十六 在图片上绘制文字
- C语言计算圆周率PI的代码
- python循环结构高一信息技术会考_高一信息技术会考样题及参考答案
- c# spire.xls 设置文字为微软雅黑_微软推出的逆天神器,让我抛弃用了5年的 Chrome。...
- android 手机桌面角标,华为手机设置桌面图标角标提醒的实现
- 在浏览器中聊天(msn.jabber or gtalk,yahoo,aol,icq,meebo)
- 如何使用 Yahoo! Finance stock API 获取股票数据
- 微信小程序 — 二维码海报分享到好友功能
- UML图之【用例图、活动图、时序图】
- php 基于soap什么协议,网络协议 20 - RPC 协议(上)- 基于XML的SOAP协议
- 学校机房白嫖网络教程(实战版)
- oracle杀缩表进程,oracle查看锁表和杀死锁表的方法总结
热门文章
- 产业互联网,让互联网由「上层建筑」变成「基础设施」
- pppoe错误代码 linux,pppoe问题
- Java中八大基本数据类型详解
- 基于Java编程俄罗斯方块的重现
- STM32——定时器PWM
- anchor-free存在什么缺点?
- Android-屏幕滑动(一)
- 【红外DDE算法】一种应用于高动态范围红外可视化的算法
- 金格控件java版本_金格全文批注中间件安装软件-金格正文office控件(插件集成)下载V4.3.0.36安装版-西西软件下载...
- 基于Python是疫情期间教育领域新闻知识图谱分析