SF 2.6 | Сворачиваем диалог по клику на заголовок

Тема в разделе "CLEO", создана пользователем Владислав, 6 июл 2014.

  1. Владислав

    Владислав Member Основатель

    Регистрация:
    29 май 2014
    Сообщения:
    109
    Симпатии:
    0
    Код:
    // 29@ - должно быть равно адресу диалога
    21@ = 5  // id последней сущности (элемента диалога)
    0B85: samp dialog 29@ get_position_to 26@ 25@ size_to 24@ 23@
    0AC8: 20@ = allocate_memory_size 256
    while true
    if
            0AB0: key_pressed 1
    then
            0AB1: call @GetCursorPos 0 28@ 27@
            0B85: samp dialog 29@ get_position_to 26@ 25@ size_to 0@ 0@
            if and
                001D:  28@ > 26@
                001D:  27@ > 25@
            then
                005A: 26@ += 24@
                25@ += 20
                if and
                    001D:  26@ > 28@
                    001D:  25@ > 27@
                then
                    0062: 26@ -= 24@
                    25@ -= 20
                    0062: 28@ -= 26@
                    0062: 27@ -= 25@
                    repeat
                        wait 0
                    until 8AB0: not key_pressed 1
                    0B85: samp dialog 29@ get_position_to 26@ 25@ size_to 0@ 0@
                    0B84: samp dialog 29@ set_pos_XY 26@ 25@ size 24@ 20
                    if
                        22@ == 0
                    then
                        22@ = 1
                        for 26@ = 0 to 21@
                            wait 0
                            if
                                8B95: not samp dialog 29@ control 26@ is_visible
                            then
                                0C0F: array 20@ element 26@ = 1
                            else
                                0B90: samp dialog 29@ control 26@ set_visible false
                            end
                        end
                    else
                        22@ = 0
                        for 26@ = 0 to 21@
                            wait 0
                            0C0F: array 20@ element 26@ = 25@
                            if
                                25@ == 1
                            then
                                0C0F: array 20@ element 26@ = 0
                            else
                                0B90: samp dialog 29@ control 26@ set_visible true
                            end
                        end
                    end
                end
            end
        end
    end
    :GetCursorPos
    0AA2: 0@ = load_library "user32.dll"
    0AA4: 1@ = get_proc_address "GetCursorPos" library 0@
    0AC8: 2@ = allocate_memory_size 8
    0AA5: call 1@ num_params 1 pop 0 2@
    0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
    2@ += 4
    0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0
    0AC9: free_memory 2@
    0AB2: ret 2 3@ 4@ 
     
    #1

Поделиться этой страницей