我能明白你的意思,但这个问题实在是……小学生都会。
你把$button1中的代码在while循环前运行一次就ok了? 这么简单的问题。哎……
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include '_dButton.au3'
Dim $XPic1, $SS_NOTIFY
$XForm1 = GUICreate("控制台", 800, 500, -1, -1)
$XPic1 = GUICtrlCreatePic(@ScriptDir & "\didi.jpg", 0, 0, 800, 68, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetState(-1, $GUI_DISABLE)
$Button1 = GUICtrlCreateButton("", 30, 40, 88, 24, $BS_BITMAP)
GUICtrlSetImage(-1, "rb1.bmp")
GUICtrlSetCursor(-1, 0)
$Button2 = GUICtrlCreateButton("", 130, 40, 88, 24, $BS_BITMAP)
GUICtrlSetImage(-1, "op1.bmp")
GUICtrlSetCursor(-1, 0)
$Button3 = GUICtrlCreateButton("", 230, 40, 88, 24, $BS_BITMAP)
GUICtrlSetImage(-1, "br1.bmp")
GUICtrlSetCursor(-1, 0)
$Button4 = GUICtrlCreateButton("", 330, 40, 88, 24, $BS_BITMAP)
GUICtrlSetImage(-1, "zz1.bmp")
GUICtrlSetCursor(-1, 0)
$Form2 = GUICreate("Tabbed Notebook Dialog", 420, 320, 30, 30, $WS_CHILD, "", $XForm1)
$dLabel1 = GUICtrlCreateLabel("窗口1", 152, 124, 72, 17, $WS_GROUP)
$Form3 = GUICreate("Tabbed Notebook Dialog", 420, 320, 30, 30, $WS_CHILD, "", $XForm1)
$dLabel2 = GUICtrlCreateLabel("窗口2", 152, 154, 72, 17, $WS_GROUP)
$Form4 = GUICreate("About", 340, 253, 30, 30, $WS_CHILD, "", $XForm1)
$dLabel1 = GUICtrlCreateLabel("窗口3", 152, 194, 72, 17, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Form5 = GUICreate("About", 340, 253, 30, 30, $WS_CHILD, "", $XForm1)
$dLabel1 = GUICtrlCreateLabel("窗口4", 152, 224, 72, 17, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Local $Current = ""
_dButton($XForm1, $Button1, "rb1.bmp", "rb2.bmp", "srb2.bmp")
_dButton($XForm1, $Button2, "op1.bmp", "op2.bmp", "op2.bmp")
_dButton($XForm1, $Button3, "br1.bmp", "br2.bmp", "br2.bmp")
_dButton($XForm1, $Button4, "zz1.bmp", "zz2.bmp", "zz2.bmp")
GUISetState(@SW_SHOW, $XForm1)
If $Current <> "" Then GUISetState(@SW_HIDE, $Current)
GUISetState(@SW_SHOW, $Form2)
$Current = $Form2
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If $Current <> "" Then GUISetState(@SW_HIDE, $Current)
GUISetState(@SW_SHOW, $Form2)
$Current = $Form2
Case $Button2
If $Current <> "" Then GUISetState(@SW_HIDE, $Current)
GUISetState(@SW_SHOW, $Form3)
$Current = $Form3
Case $Button3
If $Current <> "" Then GUISetState(@SW_HIDE, $Current)
GUISetState(@SW_SHOW, $Form4)
$Current = $Form4
Case $Button4
If $Current <> "" Then GUISetState(@SW_HIDE, $Current)
GUISetState(@SW_SHOW, $Form5)
$Current = $Form5
EndSwitch
WEnd
|