求助!关于GUICtrlCreateTabItem的问题,自己解决不掉了
本帖最后由 sunkiss 于 2011-11-22 19:50 编辑下面的代码是示例中的代码,我想让GUICtrlCreateLabel("标记3", 20, 130, 50, 20)到GUICtrlCreateLabel("标记10", 20, 200, 50, 20)中的内容只在
GUICtrlCreateTabItem("tab0")和GUICtrlCreateTabItem("tab1")显示,而GUICtrlCreateLabel("标记11", 20, 210, 50, 20)只在
GUICtrlCreateTabItem("tab2")中显示,总是不太成功!来问一个高手!
可能是我没说明白,我是想让显示出的来东西在GUICtrlCreateTab(10, 10, 200, 100)创建的白框下面,同时标记3、标记4和标记5只在tab0和tab1中显示,就是说点tab0或tab1的时候才能看到标记3、标记4和标记5,而点tab2侧显示标记10和标记11,面不显示标记3-5。#include <GUIConstantsEx.au3>
Example()
Func Example()
Local $msg
GUICreate("My GUI Tab") ; 创建居中显示的对话框窗口
GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)
GUICtrlCreateTab(10, 10, 200, 100)
GUICtrlCreateTabItem("tab0")
GUICtrlCreateLabel("标记1", 30, 80, 50, 20)
GUICtrlCreateTabItem("tab1")
GUICtrlCreateLabel("标记2", 30, 80, 50, 20)
GUICtrlCreateTabItem("tab2")
GUICtrlSetState(-1, $GUI_SHOW) ; will be display first
GUICtrlCreateLabel("标记2", 30, 80, 50, 20)
GUICtrlCreateButton("OK2", 140, 50, 50)
GUICtrlCreateTabItem("") ; end tabitem definition
GUICtrlCreateLabel("标记3", 20, 130, 50, 20)
GUICtrlCreateLabel("标记4", 20, 140, 50, 20)
GUICtrlCreateLabel("标记5", 20, 150, 50, 20)
GUICtrlCreateLabel("标记10", 20, 200, 50, 20)
GUICtrlCreateLabel("标记11", 20, 210, 50, 20)
GUISetState()
; 运行 GUI, 直到窗口关闭
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
EndFunc ;==>Example 回复 1# sunkiss
是不是这样啊?#include <GUIConstantsEx.au3>
Example()
Func Example()
Local $msg
GUICreate("My GUI Tab") ; 创建居中显示的对话框窗口
GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)
GUICtrlCreateTab(10, 10, 200, 100)
GUICtrlCreateTabItem("tab0")
GUICtrlCreateLabel("标记1", 30, 50, 50, 20)
GUICtrlCreateLabel("标记2", 30, 80, 50, 20)
GUICtrlCreateTabItem("tab1")
GUICtrlCreateLabel("标记3", 30, 30, 50, 20)
GUICtrlCreateLabel("标记4", 30, 50, 50, 20)
GUICtrlCreateLabel("标记5", 30, 70, 50, 20)
GUICtrlCreateLabel("标记10", 30, 90, 50, 20)
GUICtrlCreateTabItem("tab2")
GUICtrlCreateLabel("标记11", 30, 50, 50, 20)
GUICtrlSetState(-1, $GUI_SHOW) ; will be display first
GUICtrlCreateButton("OK2", 140, 50, 50)
GUICtrlCreateTabItem("") ; end tabitem definition
GUISetState()
; 运行 GUI, 直到窗口关闭
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
EndFunc ;==>Example 子标签这么建不行 回复 2# xms77
谢谢你的回复,呵呵,可是和我想的不一样。 回复 4# sunkiss
给你借鉴,希望对你有帮助 简单修正了一下 ;给你一个参考,最笨的方法,可以优化
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
Local $L1,$L2,$L3,$L4,$L5,$L10,$L11,$Tab
Example()
Func Example()
Local $msg
GUICreate("My GUI Tab") ; 创建居中显示的对话框窗口
GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)
$Tab =GUICtrlCreateTab(10, 10, 200, 100)
GUICtrlSetOnEvent($Tab,"MYTab")
$L1=GUICtrlCreateLabel("标记1", 30, 80, 50, 20)
GUICtrlSetState(-1, $GUI_hide)
$L2= GUICtrlCreateLabel("标记2", 30, 80, 50, 20)
GUICtrlSetState(-1, $GUI_hide)
$L3=GUICtrlCreateLabel("标记3", 20, 130, 50, 20)
GUICtrlSetState(-1, $GUI_hide)
$L4=GUICtrlCreateLabel("标记4", 20, 140, 50, 20)
GUICtrlSetState(-1, $GUI_hide)
$L5=GUICtrlCreateLabel("标记5", 20, 150, 50, 20)
GUICtrlSetState(-1, $GUI_hide)
$L10=GUICtrlCreateLabel("标记10", 20, 200, 50, 20)
GUICtrlSetState(-1, $GUI_hide)
$L11=GUICtrlCreateLabel("标记11", 20, 210, 50, 20)
GUICtrlSetState(-1, $GUI_hide)
$OK2=GUICtrlCreateButton("OK2", 140, 50, 50)
GUICtrlSetState(-1, $GUI_hide)
$Tab0 = GUICtrlCreateTabItem("tab0")
$Tab1 = GUICtrlCreateTabItem("tab1")
$Tab2 = GUICtrlCreateTabItem("tab2")
GUICtrlSetState(-1, $GUI_SHOW) ; will be display first
GUICtrlCreateTabItem("") ; end tabitem definition
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
GUISetState(@SW_SHOW)
While 1; 运行 GUI, 直到窗口关闭
Sleep(100)
WEnd
EndFunc ;==>Example
Func MYTab()
Select
CASE GUICtrlRead($Tab)=2 ;切换到 tab2
GUICtrlSetState($L3, $GUI_HIDE)
GUICtrlSetState($L4, $GUI_HIDE)
GUICtrlSetState($L5, $GUI_HIDE)
GUICtrlSetState($L10, $GUI_SHOW)
GUICtrlSetState($L11, $GUI_SHOW)
CASE GUICtrlRead($Tab)=1 ;切换到 tab1
GUICtrlSetState($L3, $GUI_SHOW)
GUICtrlSetState($L4, $GUI_SHOW)
GUICtrlSetState($L5, $GUI_SHOW)
GUICtrlSetState($L10, $GUI_HIDE)
GUICtrlSetState($L11, $GUI_HIDE)
CASEGUICtrlRead($Tab)=0 ;切换到 tab0
GUICtrlSetState($L3, $GUI_SHOW)
GUICtrlSetState($L4, $GUI_SHOW)
GUICtrlSetState($L5, $GUI_SHOW)
GUICtrlSetState($L10, $GUI_HIDE)
GUICtrlSetState($L11, $GUI_HIDE)
EndSelect
EndFunc
Func Close()
Exit
EndFunc
页:
[1]