检查 RichTextBox ScrollBar thumb 是否在滚动条的底部

郑鹏飞3年前爱T1030
Imports System.Runtime.InteropServices

Public Class jMyBox
    Inherits RichTextBox
    Public Const OjbidVscroll As UInt32 = &HFFFFFFFBUI
    <DllImport("user32.dll", SetLastError:=True, EntryPoint:="GetScrollBarInfo")>
    Private Shared Function GetScrollBarInfo(hWnd As IntPtr,
                                                idObject As UInt32,
                                               ByRef psbi As ScrollBarInfo) As Integer

    End Function
    Public Function CheckBottom() As Boolean
        Dim Info As New ScrollBarInfo
        Info.CbSize = Marshal.SizeOf(Info)
        Dim Res As Integer = GetScrollBarInfo(Handle, OjbidVscroll, Info)
        If Info.RcScrollBar.Bottom = 0 Then Return True
        Return Info.XyThumbBottom > (Info.RcScrollBar.Bottom - Info.RcScrollBar.Top - (Info.DxyLineButton * 2))
    End Function
    
    Public Structure ScrollBarInfo
        Public CbSize As Integer
        Public RcScrollBar As rect
        Public DxyLineButton As Integer
        Public XyThumbTop As Integer
        Public XyThumbBottom As Integer
        Public Reserved As Integer
        <MarshalAs(UnmanagedType.ByValArray, SizeConst:=6)>
        Public Rgstate() As Integer
    End Structure
    Public Structure Rect
        Public Left As Integer
        Public Top As Integer
        Public Right As Integer
        Public Bottom As Integer
    End Structure
end class


参考:https://qa.1r1g.com/sf/ask/549065611/


我是郑鹏飞。 如果您觉得我的文章对您有帮助,可以点击站点上的 关于站点/支持和帮助
转载请注明 : 文章转载自不了阁-飞哥 blog.forbs.cn
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。

相关文章

一是真懒了,二是真以为理所当然,所以就闹了个小乌龙!-记之前配置多域名多张SSL证书配置不成功

一是真懒了,二是真以为理所当然,所以就闹了个小乌龙!-记之前配置多域名多张SSL证书配置不成功

在配置本站的时候,也不知道是哪里没配置对,导致无法成功的在blog.forbs.cn:443端口上配置SSL证书,因为会提示冲突之类的,然后也确实有搜到文章说SSL证书是认端口的,所以就理所当然的就认...

同一个服务器一个IP部署多个带SSL证书的域名,访问时不需要输入端口的方法

同一个服务器一个IP部署多个带SSL证书的域名,访问时不需要输入端口的方法

同一台服务器,一个IP地址,多个域名,可以部署在同一台服务器上,并且是可以部署多张SSL证书的,只是SSL证书会认端口,所以,443端口就只能部署一张SSL证书,其它的域名怎么办呢?好办,就是要部署在...

多域名的同一个网站,需要部署https,教你如何只用一个SSL证书即可完成部署,且不提示不安全的连接信息。URL重写(重定向插件IIS Write)的使用与规则设置方法

多域名的同一个网站,需要部署https,教你如何只用一个SSL证书即可完成部署,且不提示不安全的连接信息。URL重写(重定向插件IIS Write)的使用与规则设置方法

比如我的网站,我同时申请了两个域名vxmat.cn和vxmat.com,我需要实现1、两个域名都访问同一个网站;2、同时支持带www和不带www的访问;3、必须部署https,当用户以http方式访问...

安全的Windows 3389远程连接维护服务器,我是如何做到的?-引言

安全的Windows 3389远程连接维护服务器,我是如何做到的?-引言

我想要实现:(个人觉得最完美的远程维护服务器的实现)      除了我之外,其它人都无法向我的远程维护端口发起TCP/UDP连接。     ...

警惕!警告全网!你的、我的、所有人的网络,都不安全!

警惕!警告全网!你的、我的、所有人的网络,都不安全!

注意:我这里所说的被监听,并不是指国家的安全部门的监听。而是指被非法份子监听。我也不是危言耸听,也不是标题党,也不会到处复制粘贴那些自己都看不懂的信息。我的文章里所说的任何信息都是经过我自己亲自验证的...

使用openssl 产生私钥,并通过私钥产生公钥的方法

使用openssl 产生私钥,并通过私钥产生公钥的方法

openssl genrsa -out privkey.key 1024  //生成一个RSA privkey.key的私钥cat privkey.key-----BEGIN RS...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。