请问那个API常量代表msflexgrid 的滚动条长度

ly012659 2008-03-03 01:55:59
比如说LB_SETHORIZONTALEXTENT为listbox水平滚动条常量,哪个是msflexgrid的呢?
...全文
61 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbm6666 2008-03-12
  • 打赏
  • 举报
回复
有的, 下面这代码只是判断滚动条的存在与否,宽度设置我记得以前写过, 还要找,吃饭先....

Private Declare Function GetScrollRange Lib "user32" (ByVal hwnd As Long, ByVal nBar As Long, lpMinPos As Long, lpMaxPos As Long) As Long
Private Declare Function SetScrollRange Lib "user32" (ByVal hwnd As Long, ByVal nBar As Long, ByVal nMinPos As Long, ByVal nMaxPos As Long, ByVal bRedraw As Long) As Long

'WM_HSCROLL和WM_VSCROLL
Const SB_HORZ = &H0
Const SB_VERT = &H1

Private Sub Form_Activate()
' MSHFlexGrid1.Width = Me.Width
Call SetScrollRange(MSHFlexGrid1.hwnd, SB_HORZ, 0, Me.Width, True)
End Sub

Private Sub Command1_Click()
MsgBox HeScroll(MSHFlexGrid1) '判断水平滚动条是否存在
MsgBox VsScroll(MSHFlexGrid1) '判断垂直滚动条是否存在
End Sub

Public Function VsScroll(MshGrid As MSHFlexGrid) As Boolean '判断水平滚动条的可见性
Dim i As Long
VsScroll = False
i = GetScrollRange(MshGrid.hwnd, SB_HORZ, lpMinPos, lpMaxPos)
If lpMaxPos <> lpMinPos Then VsScroll = True
End Function

Public Function HeScroll(MshGrid As MSHFlexGrid) As Boolean '判断垂直滚动条的可见性
Dim i As Long
HeScroll = False
i = GetScrollRange(MshGrid.hwnd, SB_VERT, lpMinPos, lpMaxPos)
If lpMaxPos <> lpMinPos Then HeScroll = True
End Function


VirtualDesktop 2008-03-12
  • 打赏
  • 举报
回复
倒....
msflexgrid不是标准的系统控件,恐怕不能用这种方法吧...

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧