请教关于列表框的滚动条

wujiwang 2003-01-15 10:57:13
VB 6.0里列表框的纵向滚动条当框内条目变多时会自动出来,可是条目很长时横向滚动条怎么出不来啊?VC 6.0, .net 里都可以从属性里加上啊,VB 6.0 不行吗?有什么简单的办法吗?
...全文
248 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ityaa 2003-01-16
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1359/1359963.xml?temp=.8214075
along 2003-01-16
  • 打赏
  • 举报
回复
注意:VB中列表框本身无水平滚动条只有借助API以下给你一段代码为列表框添置加一洋水平滚动条:
用SENDMESSAGE函数(声明参由VB的API外接程序插入即可),采用如下形式即可为LISTBOX添加一长度为1000的水平滚动条(使用时据实际情况灵活使用);

Public Const LB_SETHORIZONTALEXTENT = &H194

SendMessage LISTBOX的句柄, LB_SETHORIZONTALEXTENT, 1000, 0
lxcc 2003-01-15
  • 打赏
  • 举报
回复
用text(multiline=true,scrollbars=3,locked=true)来模拟吧
设置鼠标形状为缺省状态,
然后判断鼠标单击那一行(csdn上有搜一下)
然后用click事件等等

我说的容易,作却未必
wujiwang 2003-01-15
  • 打赏
  • 举报
回复
不是啊,我是指单条条目的长度超出列表框的宽度时应出现横向滚动条。列只有一个,但内容很长。
of123 2003-01-15
  • 打赏
  • 举报
回复
仅当多列显示时才会有水平滚动条。
当单列显示且列表项过长时,不会有滚动条。你只有自己解决:
1 事先设置列表框宽度能够容纳最长的项。(最简单)
2 填充列表框时检测最大列表项字节长度,动态调整列表框。(会影响布局)
3 当鼠标进入列表框时,计算鼠标所在条目,检测其长度。如果超长,用工具提示显示其内容:

'假定列表框使用5号字
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Len(List1.List(Y \ 180)) > 10 Then List1.ToolTipText = List1.List(Y \ 180)
End Sub
Jugular_Phoenix 2003-01-15
  • 打赏
  • 举报
回复
列表框的滚动模式由属性Columns的值来决定,当值为0时,默认为垂直滚动,
当列大于0时则当列数超过列表框的高度时,出现水平滚动条,按所设置的Cloumns的值从上到下,从左到右排列。
NYN 2003-01-15
  • 打赏
  • 举报
回复
有个columns属性(好像是这个),你可以试试看.

7,785

社区成员

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

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