仅供参考,希望对你有帮助 Private Sub MSChart1_Resize() 'mschart无此事件,在改变其长度时调用 On Error Resume Next Dim i As Long If MSChart1.Width <= Picture1.ScaleWidth Then HScroll1.Enabled = False HScroll1.Value = 0 Else HScroll1.Enabled = True HScroll1.Max = MSChart1.Width - Picture1.ScaleWidth HScroll1.Max = IIf(HScroll1.Max < 40, 40, HScroll1.Max) HScroll1.LargeChange = HScroll1.Max \ 5 HScroll1.SmallChange = HScroll1.LargeChange \ 2 If HScroll1.Value > 1 Then HScroll1.Value = HScroll1.Value - 1 End If End If ' TBLC End Sub Private Sub HScroll1_Change() On Error Resume Next Me.MSChart1.Left = -Me.HScroll1.Value End SubPrivate Sub HScroll1_Scroll() On Error Resume Next Me.MSChart1.Left = -Me.HScroll1.Value End Sub
我的意思是说:在窗口中MSChar的大小是定的,比如说我显示5列的话他的显示图看出来什么都清楚,如果我要显示500百列的时候,现在它(MSChar)就把列的宽度压小来显示,本来看上去是柱的,现在看上去就是一条线了(相就的X轴下的文字就看不清楚了),而我要的效果是:能不能不管显示多少条的时候那个列的宽度是不变的,文字永远是看得清楚的!不知道我这样说你能明白吗?
Private Sub MSChart1_Resize() 'mschart无此事件,在改变其长度时调用
On Error Resume Next
Dim i As Long
If MSChart1.Width <= Picture1.ScaleWidth Then
HScroll1.Enabled = False
HScroll1.Value = 0
Else
HScroll1.Enabled = True
HScroll1.Max = MSChart1.Width - Picture1.ScaleWidth
HScroll1.Max = IIf(HScroll1.Max < 40, 40, HScroll1.Max)
HScroll1.LargeChange = HScroll1.Max \ 5
HScroll1.SmallChange = HScroll1.LargeChange \ 2
If HScroll1.Value > 1 Then
HScroll1.Value = HScroll1.Value - 1
End If
End If
' TBLC
End Sub
Private Sub HScroll1_Change()
On Error Resume Next
Me.MSChart1.Left = -Me.HScroll1.Value
End SubPrivate Sub HScroll1_Scroll()
On Error Resume Next
Me.MSChart1.Left = -Me.HScroll1.Value
End Sub