如何改变窗口的系统滚动条宽度,或是说把它隐藏起来

Zondi 2009-08-24 01:22:19
如何改变窗口的系统滚动条宽度,或是说把它隐藏起来
...全文
181 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zondi 2009-08-26
  • 打赏
  • 举报
回复
子窗体最大化后别的窗体就无法显示了,不能解决我的问题
我已经找到了一个不算太好的解决方法,散分
Tiger_Zhao 2009-08-25
  • 打赏
  • 举报
回复
只要让子窗体最大化,就不会有 MDI 主窗体的滚动条。
Zondi 2009-08-24
  • 打赏
  • 举报
回复
我主要是想把MDI父窗体在最大化的时候把滚动条隐藏起来,因为如果系统皮肤换成WB的主题时,里面的子窗体的边框会自动加大而超过父窗体的边缘,使父窗体出现滚动条,使用起来不方便,看上去也很不爽
贝隆 2009-08-24
  • 打赏
  • 举报
回复
学习
Zondi 2009-08-24
  • 打赏
  • 举报
回复
运行出现BUG,当窗口从最大化缩小时后再最大化,子窗口就不见了。
为了实现窗口从最大化MDIForm_Resize到正常再显示滚动条,我加入了以下代码
Select Case MDIForm1.WindowState
Case Is = 2 '最大化时屏蔽父窗体滚动条


ss = GetWindowLong(MDIForm1.hwnd, GWL_STYLE)
ss = ss And Not WS_VSCROLL
SetWindowLong MDIForm1.hwnd, GWL_STYLE, ss
Case Else '最小化时恢复父窗体滚动条

ss = GetWindowLong(MDIForm1.hwnd, GWL_STYLE)
ss = ss And WS_VSCROLL
SetWindowLong MDIForm1.hwnd, GWL_STYLE, ss

End Select
结果从最大化按钮那一点,父窗口就不见了
请问是那里出了问题
Soyokaze 2009-08-24
  • 打赏
  • 举报
回复
用SetWindowLong 为你的父窗口去掉风格 WS_VSSCROLL
具体语句如下:
Dim dwStyle As Long
dwStyle = GetWindowLong(FormParent.hWnd, GWL_STYLE)
dwStyle = dwStyle And Not WS_VSSCROLL
Call SetWindowLong(FormParent.hWnd, GWL_STYLE, dwStyle)

1,486

社区成员

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

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