找回密码
 加入
搜索
查看: 2311|回复: 5

[AU3基础] 如何才能隐藏 分页标签 中的其中一页

[复制链接]
发表于 2012-8-8 13:38:26 | 显示全部楼层 |阅读模式
本帖最后由 au3retry 于 2012-8-9 15:02 编辑

如何才能隐藏   分页中的页

试了页可以不见,但页中的控件还在,能不能将页中控件做成隶属本页,然后将页删了,控也跟着删

如果能方便做到这以上,AU3分页标签这个功能就爽了
发表于 2012-8-8 16:36:16 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-8-8 16:39 编辑

回复 1# au3retry


没看到隐藏的方法,好像只能删除,需要的时候重建。
下面是在官网的一个例子上稍作修改(原代码有点问题
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <Array.au3>

$Form1 = GUICreate("Use Ctrl+T and CTRL+W to add/remove tabs", 625, 443, 192, 124)
$Tab1 = GUICtrlCreateTab(5, 30, 616, 406)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
GUICtrlCreateTabItem("")
$Add = GUICtrlCreateButton("Add", 5, 5, 75, 25, $WS_GROUP)
$Remove = GUICtrlCreateButton("Remove", 85, 5, 75, 25, $WS_GROUP)
Dim $Form1_AccelTable[2][2] = [["^t", $Add],["^w", $Remove]]
GUISetAccelerators($Form1_AccelTable)
GUISetState(@SW_SHOW)

; Log both tabitems AND edits
Global $TABS, $EDITS

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Add
                        ; Log both the tab AND the edit ControlID
                        If Not IsArray($TABS) Then
                                Dim $TABS[1], $EDITS[1]
                        Else
                                ; ReDim BOTH arrays
                                ReDim $TABS[UBound($TABS)+1]
                                ReDim $EDITS[UBound($EDITS)+1]
                        EndIf
                        $TABS[UBound($TABS)-1] = GUICtrlCreateTabItem("TabSheet " & UBound($TABS))
                         $EDITS[UBound($EDITS)-1] = GUICtrlCreateEdit(UBound($EDITS), 7, 55, 610, 370)
                         GUICtrlCreateTabItem("")
        Case $Remove
                        If Not IsArray($TABS) Then ContinueLoop
                        ; Read the tab index
                        $iTab = GUICtrlRead($Tab1)
                        ; Remove the tab
                        GUICtrlDelete($TABS[$iTab])
                        ; Remove the tab AND the edit from the arrays
                        _ArrayDelete($TABS, $iTab)
                        _ArrayDelete($EDITS, $iTab)
    EndSwitch
WEnd
 楼主| 发表于 2012-8-8 16:59:58 | 显示全部楼层
谢了,我试能不能达到跟隐藏差不多的效果
 楼主| 发表于 2012-8-9 15:10:30 | 显示全部楼层
回复 2# xiehuahere

页中的控件隐藏不了
发表于 2012-8-9 15:46:20 | 显示全部楼层
试下。。。。。。。。
发表于 2012-8-9 19:14:03 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-8-9 19:16 编辑

回复 4# au3retry


是的,我上面例子里的方法是把页中的所有控件也一并删除的。
即,将标签页的建立(包括其中控件)写成一个公共函数,删除写成一个公共函数,直接调用这两个方法实现删除和建立。
关于隐藏,确实没看到如何实现。
你倒是可以试试其他方法,例如不使用标准标签而是通过按钮来实现。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 11:25 , Processed in 0.076850 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表