ฟอรั่ม PSsix

Would you like to react to this message? Create an account in a few clicks or log in to continue.

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


5 posters

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    POS
    POS
    PSsix
    PSsix


    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by POS 30/12/10, 06:09 am

    ที่มา: [You must be registered and logged in to see this link.]

    ตัวอย่าง : คำสั่งเลื่อนหน้าต่างจากขวาไปซ้าย


    Code:
     #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("PSsix", 419, 168, 607, 274)
    GUISetBkColor(0x000000)
    $Button1 = GUICtrlCreateButton("สวัสดีปีใหม่", 56, 32, 299, 89, $WS_GROUP)
    GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x00FF00)
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00040002)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00050010)
             Exit
          Case $Button1
    MsgBox(64,"สวัสดีปีใหม่","ปี "&@YEAR)
       EndSwitch
    WEnd


    แก้ไขล่าสุดโดย POS เมื่อ 15/07/11, 04:38 am, ทั้งหมด 3 ครั้ง
    POS
    POS
    PSsix
    PSsix


    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by POS 30/12/10, 06:34 am

    วิธีปรับแต่ง

    Code:
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00040002)

    1. เปลี่ยนชื่อ $Form1 ให้ตรงกับค่าที่รับมาจาก GUICreate (ถ้าทำจาก koda ก็จะเป็นชื่อนี้ครับไม่ต้องเปลี่ยน)
    2. เปลี่ยนตัวเลข 1000 ให้เป็นเวลาสำหรับแสดงภาพเคลื่อนไหว(1000 เท่ากับ 1 วินาที)
    3. เปลี่ยนรหัส effect ที่ต้องการใช้ 0x00040002 มาจากรหัส 0x00040000 (สไลด์)+0x00000002 (เลื่อนขวาไปซ้าย) รวมกันได้เป็น 0x00040002 บาง effect จะเอามารวมกันไม่ได้อ่านจากคำอธิบายดูนะครับ
    4.นำคำสั่งไปวางไว้บนคำสั่ง GUISetState ( ) เสมอ เพื่อให้ทำงานก่อนแสดงหน้าต่างเต็ม


    รหัส effect ต่างๆ ที่สามารถนำมาใช้ได้

    AW_ACTIVATE
    0x00020000
    Activates the window. Do not use this value with AW_HIDE.


    AW_BLEND
    0x00080000
    fade effect. This flag can be used only if hwnd is a top-level window.

    AW_CENTER
    0x00000010
    Makes the window appear to collapse inward if AW_HIDE is used or expand outward if the AW_HIDE is not used. The various direction flags have no effect.

    AW_HIDE
    0x00010000
    Hides the window. By default, the window is shown.

    AW_HOR_POSITIVE
    0x00000001
    Animates the window from left to right. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND.

    AW_HOR_NEGATIVE
    0x00000002
    Animates the window from right to left. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND.

    AW_SLIDE
    0x00040000
    Uses slide animation. By default, roll animation is used. This flag is ignored when used with AW_CENTER.

    AW_VER_POSITIVE
    0x00000004
    Animates the window from top to bottom. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND.

    AW_VER_NEGATIVE
    0x00000008
    Animates the window from bottom to top. This flag can be used with roll or slide animation. It is ignored when used with AW_CENTER or AW_BLEND.

    ตัวอย่างคำสั่ง

    หน้าต่างจางไปหาเข้ม
    Code:
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00080000 )

    เลื่อนขึ้นบน
    Code:
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1 , "int", 1000, "long", 0x00040008 )

    เลื่อนแนวทแยง
    Code:
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00040005 )

    ถ้าจะใช้ effect แบบต่อกัน ต้องใช้คำสั่งคั่นคือ
    Code:
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1 , "int", 1, "long", 0x00090000 )
    อย่างเช่น

    Code:
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1, "int", 1000, "long", 0x00040005 )
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1 , "int", 1, "long", 0x00090000 )
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $Form1 , "int", 1000, "long", 0x00040008 )

    Monaliza
    Monaliza
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Program Coder
    จำนวนข้อความ : 213
    ความนิยม : 7
    เข้าร่วมเมื่อ : 03/10/2010

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by Monaliza 10/03/11, 05:51 am

    ดีครับ
    Arm
    Arm
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Master PSsix Program Coder
    จำนวนข้อความ : 268
    ความนิยม : 54
    เข้าร่วมเมื่อ : 31/03/2011
    อายุ : 26

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by Arm 05/04/11, 04:48 pm

    ผมอยากได้โค้ด fade เวลาเปิด-ปิดโปรแกรมน่ะครับ
    แต่ผมอยากได้เวลาปิดโปรแกรมอ่ะครับให้มันทำหน้าต่างเข้มไปหาจางครับ
    Quixotic
    Quixotic
    PSsix Member High Class
    PSsix Member High Class


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

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by Quixotic 08/04/11, 01:02 am

    เราจะรู้ได้ยังไงอ่ะครับว่า ไฟล์ DLL นั้นมันฟังกะชั่นอะไรบ้าง

    พอมีวิธีหาไหมครับ >_<
    POS
    POS
    PSsix
    PSsix


    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by POS 08/04/11, 06:06 am

    ไม่จำเป็นต้องเรียกใช้ไฟล์ dll เสมอถ้าต้องการแสดงเอฟเฟกเพราะคำสั่งใน AutoIt ก็มีอยู่แล้ว (สามารถใช้คำสั่งเลียนแบบได้หมด) ตัวอย่าง เปิดแบบจางไปหาเข้ม และปิดแบบเข้มไปหาจาง

    Code:
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 346, 235, 192, 124)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    For $i = 0 To 255 Step 10
             WinSetTrans($Form1, "", $i)
             Sleep(100)
          Next

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $GUI_EVENT_CLOSE
                For $i = 255 To 0 Step -10
             WinSetTrans($Form1, "", $i)
             Sleep(100)
          Next
             Exit
       EndSwitch
    WEnd


    ส่วนฟังก์ชั่นในไฟล์ dll หาได้จากเว็บผู้ผลิต หรือลองใช้โปรแกรมตรวจเช่น

    Dependency Walker
    [You must be registered and logged in to see this link.]

    หรืออีกตัวโปรแกรมหนึ่ง
    DLL Export Viewer
    [You must be registered and logged in to see this link.]

    การใช้โปรแกรมตรวจดูจะได้ข้อมูลที่ได้เป็นแค่ฟังก์ชั่นที่อยู่ในไฟล์ dll เท่านั้น
    Quixotic
    Quixotic
    PSsix Member High Class
    PSsix Member High Class


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

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by Quixotic 08/04/11, 09:31 pm

    ขอบคุณครับผม ^^

    ขออีกคำถามครับ

    แล้วเราจะใช้ฟังชั่นอะไรตัดพื้นหลังของ Label อ่ะครับ

    คือผมเอาภาพลงเป็นแบคกาวของโปรแกรมแล้วก็เอา Label มาเขียนทับแต่มันมีพื้นหลังเป็นสีเทาๆอ่ะครับ

    อยากได้วิธีตัดออกให้เหลือแต่ตัวหนังสือ

    ผมได้แนวทางมาละครับ แต่ติดปัญหาคือ ถ้าเราสร้างรูปก่อนปุ่มกด ( เอาฟังชั่นเพิ่มรูปไว้บนสุด ปุ่มกดไว้ข้างล่าง )

    แล้วใช้ฟังชั่น

    GUICtrlSetBkColor(Default, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(Default, 0xFFFFFF)

    ... กับ label มันก็จะไม่แสดงผลอะไรเลย

    แต่ถ้า สร้างรูปทีหลังสุด สร้างพวกปุ่มกดก่อน ฟังชั่นที่จะทำให้ label จางมันก็จะทำงานแต่ ...

    รูปภาพมันจะบังปุ่มกดอ่ะครับ ต้องเอาเมาส์ไปชี้ๆ มันถึงจะโผล่ออกมา

    อาการแบบนี้จะแก้ไขไงดีครับ นั่งงบมานานละ

    เพิ่มเติมๆ ผมลองตั้งค่า Label เป็นสีแดงไว้ตัวนึงอ่ะครับ

    พอตอนเปิดโปรแกรมมันจะเห็นแวปๆ แล้วก็หายไป เหมือนโดนทับอีกทีอ่ะครับ

    แก้ไชได้ละครับ

    ปัญหาเกิดจากการใช้สกินที่ท่านเอามาแจกอ่ะครับ เพราะผมลองลบออกมันก็ปกติดีทุกอย่าง

    แต่ผมลองเอาใส่อีกที Label ทุกตัวมันก็จะมีพื้นหลังสีเท่าอ่ะครับ ถึงตอนนี้ผมจนปัญญาของจริงละครับ

    T_________T
    POS
    POS
    PSsix
    PSsix


    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by POS 09/04/11, 10:03 am

    สกินนั้นค่อนข้างมีปัญหาครับทำเล่นๆ ก็พอได้ แต่เอามาใช้งานจริงจะมีปัญหามาก ผมก็ไม่ใช้

    ตัวอย่างสำหรับทำให้ label ไม่มีพื้นหลัง ลองดูโค้ดด้านล่างนี้

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 545, 355, 192, 124)
    $Pic1 = GUICtrlCreatePic("ใส่รูป.jpg", 0, 0, 537, 345, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel("ทดสอบ", 312, 88, 139, 17)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    EndSwitch
    WEnd
    Quixotic
    Quixotic
    PSsix Member High Class
    PSsix Member High Class


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

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by Quixotic 09/04/11, 02:06 pm

    แง่ว T_____T หมดทางแก้เลยสินะครับ เสียดายจัง

    ยังไงก็ขอบคุณสำหรับตัวอย่างมากนะครับ em218
    newsak2005
    newsak2005
    ระงับสมาชิก
    ระงับสมาชิก


    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty
    จำนวนข้อความ : 115
    ความนิยม : 0
    เข้าร่วมเมื่อ : 08/05/2011

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by newsak2005 16/06/11, 01:02 am

    ใช้คำสั่งใน WinAPI ก็ทำได้เช่นกัน ลองค้นหาดูครับ
    Arm
    Arm
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Master PSsix Program Coder
    จำนวนข้อความ : 268
    ความนิยม : 54
    เข้าร่วมเมื่อ : 31/03/2011
    อายุ : 26

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by Arm 27/01/12, 03:58 pm

    ท่าน Admin ครับ
    ปักหมุดกระทุ้นี้ให้หน่อยครับ
    POS
    POS
    PSsix
    PSsix


    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by POS 28/01/12, 09:39 am

    จะปักหมุดเพื่ออะไรครับ
    Arm
    Arm
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Master PSsix Program Coder
    จำนวนข้อความ : 268
    ความนิยม : 54
    เข้าร่วมเมื่อ : 31/03/2011
    อายุ : 26

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by Arm 28/01/12, 09:30 pm

    คือเวลาหากระทู้นี้จะได้ไม่ต้องเข้าไปหาจาก page ก่อนๆน่ะครับ
    POS
    POS
    PSsix
    PSsix


    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty
    จำนวนข้อความ : 1152
    ความนิยม : 326
    เข้าร่วมเมื่อ : 19/07/2010

    วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม Empty Re: วิธีทำ effect ตอนปิดและปิดหน้าต่างโปรแกรม

    ตั้งหัวข้อ by POS 29/01/12, 07:11 am

    เซฟเก็บไว้ในเครื่องจะดีกว่าครับ ผมไม่อยากให้กระทู้ปักหมุดมีเยอะเกินไป อันที่จริงกระทู้อื่นๆ ก็มีประโยชน์เช่นกัน แต่ไม่ได้รับการจัดหมวดหมู่ไว้เท่านั้น

      เวลาขณะนี้ 19/04/24, 11:18 pm