winforms 如何检查RichTextBox中的水平滚动条是否可见?

92dk7w1h  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(196)

我想知道RichTextBox中的水平滚动条是否可见。
我找到了this answer,并将其转换为VB.NET,如下所示:

Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Integer, ByVal nIndex As Integer) As Integer

Public Function VerticalScrollBarVisible(ByVal ctl As Control) As Boolean
    Dim style As Integer = GetWindowLong(ctl.Handle, GWL_STYLE)
    Return ((style And 2097152) _
                <> 0)
End Function

但我需要的版本是水平的,而不是垂直的。
另外,我想使用一个很好的枚举值,但我不明白其他作者所说的“2097152”是什么意思。
谢谢你,谢谢你

wd2eg0qa

wd2eg0qa1#

我被引导到答案:

Private Const WS_VSCROLL As Integer = 2097152
Private Const WS_HSCROLL As Integer = 1048576

Public Function HorizontalScrollBarVisible(ByVal ctl As Control) As Boolean
    Dim style As Integer = GetWindowLong(ctl.Handle, GWL_STYLE)
    Return ((style And WS_HSCROLL) <> 0)
End Function

相关问题