#简单问题:让LISTBOX控件自动滚动,自动换行!!!
我是用LIST 控件来接受别人发来的信息。怎么让它显示最后一行的文字呢?
怎么自动换行呢??
问题点数:20、回复次数:8Top
1 楼baoxiang(包香)回复于 2001-11-22 17:10:34 得分 0
用Text控件,把multiline属性设为true。Top
2 楼uguess(天地间,有我在行走!)回复于 2001-11-22 17:13:57 得分 5
list1.selected(list1.listcount-1)=true
Top
3 楼enmity(灵感之源)回复于 2001-11-22 17:15:57 得分 5
ListBox自动滚动?
你是用代码控制当有新的信息来的时候,选择最后一行吧?
如果这样的话:
(假如该控件名为:lstMessages)
lstMessages.ListIndex=lstMessages.ListCount-1
如果是鼠标不用按“向下”按钮,当鼠标在项目上的时候,选中项目自动向下滚动的话,那需要用到API了。
如果真的是后一种情况的话,晚上给你。
Top
4 楼enmity(灵感之源)回复于 2001-11-22 17:17:03 得分 0
嗯,如果是第一种情况,uguess(uguess)的方法可以。Top
5 楼playyuer(退休干部 卧鼠藏虫)回复于 2001-11-22 17:25:20 得分 5
Private Sub Command1_Click()
List1.TopIndex = List1.TopIndex + 1
List1.Selected(List1.TopIndex + 10) = True
End SubTop
6 楼playyuer(退休干部 卧鼠藏虫)回复于 2001-11-22 18:01:51 得分 5
'你的问题似乎挺简单
List1.Selected(List1.NewIndex) = True
'下面是 按钮向上下滚动 ListBox 的代码
Option Explicit
Private Sub Command1_Click()
List1.TopIndex = List1.TopIndex + 1
List1.Selected(List1.TopIndex + GetVisibleListCount(List1)) = True
End Sub
Private Sub Form_Load()
Dim i As Long
For i = 0 To 100
List1.AddItem "asdas"
Next i
End Sub
Public Function GetVisibleListCount(ListX As VB.ListBox) As Integer
Dim FormX As VB.Form
Set FormX = ListX.Container
Dim FontX As New stdole.StdFont
FontX.Bold = FormX.Font.Bold
FontX.Charset = FormX.Font.Charset
FontX.Italic = FormX.Font.Italic
FontX.Name = FormX.Font.Name
FontX.Size = FormX.Font.Size
FontX.Underline = FormX.Font.Underline
FontX.Weight = FormX.Font.Weight
Set FormX.Font = ListX.Font
GetVisibleListCount = (ListX.Height \ FormX.TextHeight("X")) - 1
Set FormX.Font = FontX
End Function
Top
7 楼uguess(天地间,有我在行走!)回复于 2001-11-30 09:58:51 得分 0
兄弟,不用给分的么?
Top
8 楼wangchong(网虫)回复于 2001-12-05 17:05:18 得分 0
给分,希望大家以后多多帮助!Top




