1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Làm sao để nhấn button thì thoát khỏi vòng lặp

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi deke, 20/1/20.

  1. deke

    deke Thành viên mới
    • 1/6

    Tham gia ngày:
    29/12/19
    Bài viết:
    3
    Đã được thích:
    0
    Mọi người cho e khỏi muốn thoát khỏi vòng lặp ở hàm này sao ạ.
    [​IMG]

    [​IMG]
     
  2. deke

    deke Thành viên mới
    • 1/6

    Tham gia ngày:
    29/12/19
    Bài viết:
    3
    Đã được thích:
    0
    E muốn ấn off để tắt k cho lặp tiếp ạ
     
  3. #Rainy# Hoàng Vũ IT

    #Rainy# Hoàng Vũ IT Hoàng Vũ IT Moderator
    • 43/45

    Tham gia ngày:
    21/11/16
    Bài viết:
    404
    Đã được thích:
    122
    Nếu tắt ngay lập tức thì gần như k thể.
    1. chạy hết vòng lặp r tắt thì đơn giản.
    2. gọi hàm lồng vào tại vị trí đó, gây chiếm và đơ code.
    Mình tìm k ra bài viết của thým Nguyễn Duy, đại khái bài đó là nút button. Bạn xem code này nhé.
    Mã (AutoIt):
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>

    $hGUI = GUICreate("Test", 100, 100)
    $hButton1 = GUICtrlCreateButton("Chạy vòng lặp", 10, 10, 80, 30)
    $hButton2 = GUICtrlCreateButton("Ngắt vòng lặp", 10, 50, 80, 30)
    GUISetState()

    #Region Định nghĩa và gán các Button muốn dùng để ngắt vòng lặp
        $Interrupt = 0
        GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND_BUTTON")
        Func _WM_COMMAND_BUTTON($hWnd, $Msg, $wParam, $lParam)
            Switch BitAND($wParam, 0x0000FFFF)
                Case $hButton2
                    $Interrupt = 1
                    ;Case $hButtonX
                    ;    .....
            EndSwitch
            Return 'GUI_RUNDEFMSG'
        EndFunc
    #EndRegion

    #Region Tắt GUI khi vẫn còn đang chạy vòng lặp
        GUIRegisterMsg($WM_SYSCOMMAND, "_WM_COMMAND_CLOSEBUTTON")
        Func _WM_COMMAND_CLOSEBUTTON($hWnd, $Msg, $wParam, $lParam)
            If BitAND($wParam, 0x0000FFFF) = 0xF060 Then Exit
            Return 'GUI_RUNDEFMSG'
        EndFunc
    #EndRegion


    While Sleep(10)
        Switch GUIGetMsg()
            Case -3
                Exit
            Case $hButton1
                $Interrupt = 0
                Do
                    ConsoleWrite("Dang Loop: " & Random() & @CRLF)
                    Sleep(100)
                Until $Interrupt <> 0
                ConsoleWrite("!Loop bi ngat boi Button2" & @CRLF)
        EndSwitch
    WEnd
     
    Đây, bạn có thể tham khảo bài viết này nhé. https://autoitvn.com/threads/tao-gui-bang-winapi-library-win32.1253/
     
    Chỉnh sửa cuối: 22/1/20
    boyjoke thích bài này.

Chia sẻ trang này

Đang tải...