ฟอรั่มของบล็อก http://pssix.blogspot.com


ถามเกี่ยวกับคำสั่ง GUISetState(@SW_HIDE)

Share

asokura
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 72
ความนิยม : 11
เข้าร่วมเมื่อ : 03/09/2011

ถามเกี่ยวกับคำสั่ง GUISetState(@SW_HIDE)

ตั้งหัวข้อ by asokura on 24/10/11, 12:45 am

ต้องการจะซ่อนหน้าต่างโปรแกรม มากกว่า 1 หน้าต่าง ควรใช้คำสั่งใดครับ
ลองใช้ GUISetState(@SW_HIDE) แล้วมันซ่อนได้แค่แรก หน้าต่างเดียวครับ

Quixotic
PSsix Member High Class
PSsix Member High Class

PSsix Program Coder
จำนวนข้อความ : 91
ความนิยม : 1
เข้าร่วมเมื่อ : 29/03/2011

Re: ถามเกี่ยวกับคำสั่ง GUISetState(@SW_HIDE)

ตั้งหัวข้อ by Quixotic on 24/10/11, 02:51 am

ผมว่าน่าจะใช้ For ไล่ซ่อนเอาดื้อๆเลยอ่ะครับ ฮิๆ

ประมาณว่า
Code:

For $i = 1 to handleสุดท้ายของ GuiCreate

GUISetState(@SW_HIDE,$i)

Next

ชัวร์หรือมั่วนิ่มยังไงก็เชิญปรมมาจารท่านต่อไปมาชี้แนะ

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: ถามเกี่ยวกับคำสั่ง GUISetState(@SW_HIDE)

ตั้งหัวข้อ by POS on 24/10/11, 06:55 am

มี 2 แบบเลือกใช้ได้ครับ ตามตัวอย่างสคริปต์ด้านล่างนี้



Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Dim $guih[3] ;;;;;;;;;;2

$Form1 = GUICreate("1", 200, 100, 0, 0)
$guih[0] = WinGetHandle($Form1) ;;;;;;;;2
$Button1 = GUICtrlCreateButton("1", 70, 34, 75, 25)
GUISetState(@SW_SHOW)

$Form2 = GUICreate("2", 200, 100, 210, 0)
$guih[1] = WinGetHandle($Form2) ;;;;;;;;;;;2
$Button2 = GUICtrlCreateButton("2", 70, 34, 75, 25)
GUISetState(@SW_SHOW)

$Form3 = GUICreate("3", 200, 100, 420, 0)
$guih[2] = WinGetHandle($Form3) ;;;;;;;;;;;;;;2
$Button3 = GUICtrlCreateButton("3", 70, 34, 75, 25)
GUISetState(@SW_SHOW)


While 1
   $nMsg = GUIGetMsg(1)

   Switch $nMsg[1]

      Case $Form1
         Switch $nMsg[0]
            Case $GUI_EVENT_CLOSE
               Exit
            Case $Button1
               ;;;;;;;;;;;;;;;;1
               GUISetState(@SW_HIDE, $Form1)
               GUISetState(@SW_HIDE, $Form2)
               GUISetState(@SW_HIDE, $Form3)
         EndSwitch

      Case $Form2
         Switch $nMsg[0]
            Case $GUI_EVENT_CLOSE
               GUISetState(@SW_HIDE, $Form2)
            Case $Button2
               ;;;;;;;;;;;;2
               For $i = 0 To UBound($guih) - 1
                  GUISetState(@SW_HIDE, $guih[$i])
               Next
         EndSwitch

      Case $Form3
         Switch $nMsg[0]
            Case $GUI_EVENT_CLOSE
               GUISetState(@SW_HIDE, $Form3)
            Case $Button3
               MsgBox(0, "xxxxxxx", "xxxxxxx")
         EndSwitch
   EndSwitch
WEnd


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

asokura
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 72
ความนิยม : 11
เข้าร่วมเมื่อ : 03/09/2011

Re: ถามเกี่ยวกับคำสั่ง GUISetState(@SW_HIDE)

ตั้งหัวข้อ by asokura on 24/10/11, 07:50 pm

ขอบคุณครับ

    เวลาขณะนี้ 26/02/17, 12:29 pm