在窗体上放一个SSTab控件,设置成三个页面,在每个页面分别放一个文本框,在按纽的单击事件放入以下代码:
Private Sub Command1_Click()
Text1.Left = 300
Text1.Width = 4000
Text1.Height = 2000
Text1.Top = 1023
Text2.Left = 300
Text2.Width = 4000
Text2.Height = 2000
Text2.Top = 1500
Text3.Left = 300
Text3.Width = 4000
Text3.Height = 2000
Text3.Top = 1800
End Sub
为什么执行了三个文本框都跑到第一个页面来了呢?第2,第3 页面也还有呀?这是为什么?急用呀!
Private Sub Command1_Click()
Text1.Left = 300
Text1.Width = 4000
Text1.Height = 2000
Text1.Top = 1023
Text2.Left = 300
Text2.Width = 4000
Text2.Height = 2000
Text2.Top = 1500
Text3.Left = 300
Text3.Width = 4000
Text3.Height = 2000
Text3.Top = 1800
End Sub
为什么执行了三个文本框都跑到第一个页面来了呢?第2,第3 页面也还有呀?这是为什么?急用呀!
而你如果硬要用text2.left=200这样的语句,text2自然会让你给“拽”回来了!
Private Sub Command1_Click()
Text1.Left = Text1.Left - 300
Text1.Width = 4000
Text1.Height = 2000
Text1.Top = 1023
Text2.Left = Text2.Left - 300
Text2.Width = 4000
Text2.Height = 2000
Text2.Top = 1500
Text3.Left = Text3.Left - 300
Text3.Width = 4000
Text3.Height = 2000
Text3.Top = 1800
End Sub
Text1.Left =Text1.Left + 300
Text1.Width = 4000
Text1.Height = 2000
Text1.Top = 1023
Text2.Left =Text2.Left + 300
Text2.Width = 4000
Text2.Height = 2000
Text2.Top = 1500
Text3.Left =Text3.Left + 300
Text3.Width = 4000
Text3.Height = 2000
Text3.Top = 1800
End Sub
比较多的用法是:将FRAME控件按照SSTAB的页数建立一个控件数组,比如:SSTAB有3页,那么就建立FRAME1(0),FRAME1(1)和FRAME(2)
然后将需要分页显示的控件分别放到相应的FRAME里面,注意:是作为FRAME的子控件,而不是简单的将位置放在上面.这样当该FRAME不可见的时候里面的控件也就不可见了.然后在SSTAB的代码中写:
SSTAB_CLICK(INDEX AS INTEGER)
DIM I AS LONG
FOR I 0 TO FRAME1.COUNT-1
FRAME1(I).VISIBLE=FALSE
NEXT
FRAME1(INDEX).VISIBLE=TURE.
END SUB基本上就是这样,或许我写错了SSTAB事件的参数,但是原理就是这样.
即:在按下一个SSTAB的时候将所有FRAME都不可见,再将和SSTAB这一页对应的FRAME显示出来.
因为每一页的控件都放在FRAME内部了,因此这些控件也会随着FRAME的VISIBLE变得可见或不可见.顺便说一下,将控件放到FRAME里面的方法是点一下工具栏内的控件,然后在FRAME里面画上去.
如果是要建立控件数组,则是先选一个控件,然后选中相应的FRAME再按粘贴.