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

[AU3基础] (已解决,结贴)如何获取TabSheet的点击状态

  [复制链接]
发表于 2010-6-30 00:01:01 | 显示全部楼层 |阅读模式
本帖最后由 feicuiboy 于 2010-6-30 19:51 编辑
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447, 193, 125)
$Tab1 = GUICtrlCreateTab(8, 8, 305, 225)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("TabSheet1")
$TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
GUICtrlCreateTabItem("")
$Pic1 = GUICtrlCreatePic("D:\Document And Settings2\Administrator\Desktop\1.jpg", 328, 32, 273, 201, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd
想点击不同的$TabSheet1 和$TabSheet2时候显示不同图片,该怎么获取$TabSheet的点击状态

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-6-30 01:58:42 | 显示全部楼层
#include <GuiTab.au3>

GUICreate('点击标签切换图片', 600, 280)
$Tab1 = GUICtrlCreateTab(8, 8, 305, 225)
GUICtrlCreateTabItem("TabSheet1")
GUICtrlCreateTabItem("TabSheet2")
GUICtrlCreateTabItem("")
$Picp = RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\Examples\GUI\'
Local $p1 = $Picp & 'mslogo.jpg', $p2 = $Picp & 'logo4.gif'
$Pic = GUICtrlCreatePic($p1, 328, 32, 255, 70)
GUISetState()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $Tab1
                        If _GUICtrlTab_GetCurSel($Tab1) = 0 Then GUICtrlSetImage($Pic, $p1)
                        If _GUICtrlTab_GetCurSel($Tab1) = 1 Then GUICtrlSetImage($Pic, $p2)
        EndSwitch
WEnd

评分

参与人数 2金钱 +15 收起 理由
feicuiboy + 10 谢谢,学习了
lynfr8 + 5 Good

查看全部评分

发表于 2010-6-30 02:26:41 | 显示全部楼层
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
Dim $Pic0, $Pic1
$Form1 = GUICreate("点击不同Tab显示不同图片", 633, 447, 193, 125)
$hTab = GUICtrlCreateTab(2, 2, 396, 296)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
_GUICtrlTab_InsertItem($hTab, 0, "Tab 0")
_GUICtrlTab_InsertItem($hTab, 1, "Tab 1")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
$chage = False
While 1
        If _GUICtrlTab_GetCurSel($hTab) = 0 And $chage = False Then
                $chage = True
                GUICtrlDelete($Pic1)
                $Pic0 = GUICtrlCreatePic("0.jpg", 328, 32, 273, 201, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
        EndIf
        If _GUICtrlTab_GetCurSel($hTab) = 1 And $chage = True Then
                $chage = False
                GUICtrlDelete($Pic0)
                $Pic1 = GUICtrlCreatePic("1.jpg", 328, 32, 273, 201, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
        EndIf
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd
虽然同样效果
不过还是afan的代码简洁
建议楼主采纳。

评分

参与人数 2威望 +2 金钱 +10 收起 理由
feicuiboy + 10 谢谢,学习了
afan + 2 Good 2

查看全部评分

发表于 2010-6-30 11:00:06 | 显示全部楼层
都挺好的。。来支持下。。
 楼主| 发表于 2010-6-30 19:55:49 | 显示全部楼层
已解决,请版主结贴,谢谢
发表于 2010-6-30 20:33:33 | 显示全部楼层
已解决,请版主结贴,谢谢

评分

参与人数 2金钱 -19 贡献 0 收起 理由
lynfr8 -4 0
afan -15

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-3 17:20 , Processed in 0.108250 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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