如何才能隐藏 分页标签 中的其中一页
本帖最后由 au3retry 于 2012-8-9 15:02 编辑如何才能隐藏 分页中的页
试了页可以不见,但页中的控件还在,能不能将页中控件做成隶属本页,然后将页删了,控也跟着删
如果能方便做到这以上,AU3分页标签这个功能就爽了 本帖最后由 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 = [["^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, $EDITS
Else
; ReDim BOTH arrays
ReDim $TABS
ReDim $EDITS
EndIf
$TABS = GUICtrlCreateTabItem("TabSheet " & UBound($TABS))
$EDITS = 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 谢了,我试能不能达到跟隐藏差不多的效果 回复 2# xiehuahere
页中的控件隐藏不了 试下。。。。。。。。 本帖最后由 xiehuahere 于 2012-8-9 19:16 编辑
回复 4# au3retry
是的,我上面例子里的方法是把页中的所有控件也一并删除的。
即,将标签页的建立(包括其中控件)写成一个公共函数,删除写成一个公共函数,直接调用这两个方法实现删除和建立。
关于隐藏,确实没看到如何实现。
你倒是可以试试其他方法,例如不使用标准标签而是通过按钮来实现。
页:
[1]