我有一个应用程序,窗体上放置了4个Frame控件,构成控件数组Frame1(0 to 3)
另外有四个按钮对应着这四个FRAME。这四个FRAME是相同尺寸的,且放置刚好重叠,只能看到最上面的一个。我想实现这样一个功能:
点击一个按钮,相应的Frame显示出来,另外三个就隐藏起来。
比如下我点击了Command1那么Frame(0)就显示出来。因为这四个FRAME上我实现了不同的功能。我试着用VISIBLE属性做了一下,没成功。
谢谢高手指点!

解决方案 »

  1.   

    Frame的Visible全设为False
    private sub Command1_click()
    Frame1(0).Visible=True
    Frame1(1).Visible=false
    Frame1(2).Visible=false
    Frame1(3).Visible=false
    end subprivate sub Command2_click()
    Frame1(0).Visible=false
    Frame1(1).Visible=true
    Frame1(2).Visible=false
    Frame1(3).Visible=false
    end sub
    ...
    以下一样
    或者你可以用
    Zorder
    Private sub Command1_click()
    frame1(0).zorder 0
    end sub
    Private sub Command2_click()
    frame1(1).zorder 0
    end sub
    ...
      

  2.   

    上述代码我用过了,没有实现啊。
    第一次我点四个按钮,FRAME进行了切换,可是第二遍时,FRAME一个都出不来了。
    ZOrder我也用过了,切换到是实现了,可是FRAME的CAPTION属性一直没有跟着变,一直显示的是FRAME(0)的。郁闷啊,有没有更好的办法?
    是不是我VB6没打SP5的原因才导致这样的结果啊?
      

  3.   

    Function ShowFrame(Index As Long)
             Dim I As Long
             
             For I = 0 To Frame1.Count
                 If I = Index Then
                    Frame1(I).Visible = True
                    Frame1(I).ZOrder 0
                 Else
                    Frame1(I).Visible = False
                 End If
             Next
    End Function
      

  4.   

    可是FRAME的CAPTION属性一直没有跟着变,一直显示的是FRAME(0)的。是在哪里显示的?
      

  5.   

    就是FRAME里显示的。
    真是奇怪。
      

  6.   

    这样时因为你的Frame(1..n)没有放到窗体上比如:Frame(1)放到了Frame(0)上了,成了Frame(0)内的控件
    所以Frame(0).Visible=false时,Frame(1)是不可能看到的
      

  7.   

    Function ShowFrame(Index As Long)
             Dim I As Long
             
             For I = 0 To Frame1.Count
                   Frame1(I).caption="asdfadf" '改变标签....
                 If I = Index Then
                    Frame1(I).Visible = True
                    Frame1(I).ZOrder 0
                 Else
                    Frame1(I).Visible = False
                 End If
             Next
    End Function
      

  8.   

    推荐sstab控件,如果直接用frame控件,不需要设置visible属性,只设置zorder属性更简单。
      

  9.   

    免费使用
    免费升级超越水晶报表,是我们的目标
    彻底解除程序员负担,极大提高用户设定灵活性
    LLanV报表工具,经过了10000行以上数据的压力测试,性能优良!其中一部分功能如下:  
    1.支持资料卡(比如:个人简历),表单(比如:销售定单),报表(比如:销售月报表)的预览打印
    2.不用任何设定,就可以默认产生专业的页面
    3.用户可以一次性设定企业标准样式(比如:公司标志,台头)
    4.支持文本,线条,方框,图片,等报表元素
    5.对各报表元素和报表区域等提供丰富的属性
    6.用户可以在运行期间编辑文本,线条,方框,图片,明细列, 操作简单
    7.支持同一列相同数据合并成一个格
    8.可以在运行期间增删,调换明细列
    9.提供多种报表风格
    10.支持页合计,总计
    11.支持的套打报表
    12.支持MIS开发的各种开发工具:如VC、VB、Delphi等
    13.可以直接连接数据库
    14.用户可以把设定后的报表样式保存为报表样式文件
    15.报表头和报表尾均可多于一页
    16.报表样式文件格式完全开放
    17.可以实现中国式复杂报表样式
    18.无须编程请发EMAIL给[email protected]
      

  10.   

    如果frame實現不同的功能,那麼用sstab作frame的載體
    ,這樣會好點