# 视窗内的ScrollBar出不来？

Posted by 小夙 on December 03, 1997 at 02:25:27:

请问小吴：

我想作一个有ScrollBar的图形视窗，因此我就参照使用手册(基础篇)上的方式，先建立两个重叠的PictureBox，一个为子视窗(PBScrollView)，一个为父视窗(PBExactView)，其上有VScroll(VScroll1)和HScroll(HScroll1)两个控制项，Run了之后，视窗内的ScrollBar一直出不来，以下是相关的程式码，请小吴不各赐教..

注：frmD是我的表单名称

Private Sub Form_Load()
frmD.ScaleMode = vbPixels
PBScrollView.ScaleMode = vbPixels
PBExactView.AutoSize = True
PBScrollView.BorderStyle = 0
PBExactView.BorderStyle = 0
PBExactView.Picture = LoadPicture("c:\windows\setup.bmp")
PBScrollView.Move 0, 0, ScaleWidth - VScroll1.Width, _
ScaleHeight - HScroll1.Height
PBExactView.Move 0, 0
HScroll1.Top = PBScrollView.Height
HScroll1.Left = 0
HScroll1.Width = PBScrollView.Width

VScroll1.Top = 0
VScroll1.Left = PBScrollView.Width
VScroll1.Width = PBScrollView.Height
HScroll1.Max = PBExactView.Width - PBScrollView.Width
VScroll1.Max = PBExactView.Height - PBScrollView.Height
******************************************************************
VScroll1.Visible = (PBScrollView.Height < PBExactView.Height)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
HScroll1.Visible = (PBScrollView.Width < PBExactView.Width)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
注："VScroll1.Visible = 一直是"False"？不知何故?
******************************************************************
End Sub

Private Sub Form_Resize()
PBExactView.Height = frmD.Height
PBExactView.Width = frmD.Width
PBScrollView.Move 0, 0, ScaleWidth - VScroll1.Width, _
ScaleHeight - HScroll1.Height
PBExactView.Move 0, 0
HScroll1.Top = PBScrollView.Height
HScroll1.Left = 0
HScroll1.Width = PBScrollView.Width
VScroll1.Top = 0
VScroll1.Left = PBScrollView.Width
VScroll1.Width = PBScrollView.Height
HScroll1.Max = PBExactView.Width - PBScrollView.Width
VScroll1.Max = PBExactView.Height - PBScrollView.Height
VScroll1.Visible = (PBScrollView.Height < PBExactView.Height)

HScroll1.Visible = (PBScrollView.Width < PBExactView.Width)
End Sub

Private Sub HScroll1_Change()
PBScrollView.Left = -HScroll1.Value
End Sub

Private Sub VScroll1_Change()
PBScrollView.Top = -VScroll1.Value
End Sub

Follow Ups:

- 继续加油 小吴 20:13:52 12/03/97 (1)
  - 谢谢小吴 小夙 00:12:06 12/04/97 (0)