PureBasic

ExamineMouse()

Синтаксис

Result = ExamineMouse()

Описание


Обновляет состояние Мыши. Эта функция должна быть вызвана перед использованием MouseDeltaX(), MouseDeltaY(), MouseX(), MouseY() или MouseButton().

Параметры

Ничего.

Возвращаемое значение

Возвращает ненулевое значение, если состояние Мыши было обновлено, иначе 0.

Комментарии

Первый вызов ExamineMouse () захватывает мышь для активного Screen или 'WindowedScreen'.
Мышь снова станет доступной для всей вашей системы после вызова команды ReleaseMouse(#True), или после завершения этой программы.

Пример (фран.)

; Инициализация мира 2D
InitSprite()
InitMouse()

; Открытие окна
OpenWindow(0, 0, 0, 800, 600, "Мышь - Нажимайте и используйте колесо...", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600, 1, 0, 0)

;Создание курсора мыши
LoadSprite(0, #PB_Compiler_Home + "examples/sources/Data/PureBasic.bmp")  ; Load nice small Logo

; Перемещение мыши
MouseLocate(300, 200)

; Управление окнами и экранами
Repeat
    Repeat      ; Управление окнами
        Event  = WindowEvent()
        Select Event
            Case #PB_Event_CloseWindow
                End
        EndSelect
    Until Event = 0

    ExamineMouse() ; Состояние мыши
    x = MouseX() ; Положение мыши в х
    y = MouseY() ; Положение мыши в y

    ; Отображение курсора
    DisplaySprite(0, x-SpriteWidth(0)/2, y-SpriteHeight(0)/2)

    ; Колесо мыши = вращение курсора
    tiks = MouseWheel()
    RotateSprite(0, tiks, #PB_Relative)

    ; Отобразить состояние мыши
    StartDrawing(ScreenOutput())
    DrawText(0, 5, "X=" + Str(x) + "  Y=" + Str(y) + "  DeltaX " + Str(MouseDeltaX()) + "  DeltaY= " + Str(MouseDeltaY()))
    If MouseButton(#PB_MouseButton_Left) <> 0
        DrawText(0, 30, "Левая кнопка", RGB(255, 0, 0), RGB(255, 255, 0))
    Else
        DrawText(0, 30, "Левая кнопка", RGB(255, 255, 255))
    EndIf
    If MouseButton(#PB_MouseButton_Middle) <> 0
        DrawText(150, 30, "Центральная кнопка", RGB(255, 0, 0), RGB(255, 255, 0))
    Else
        DrawText(150, 30, "Центральная кнопка", RGB(255, 255, 255))
    EndIf
    If MouseButton(#PB_MouseButton_Right) <> 0
        DrawText(300, 30, "Правая кнопка", RGB(255, 0, 0), RGB(255, 255, 0))
    Else
        DrawText(300, 30, "Правая кнопка", RGB(255, 255, 255))
    EndIf
    If tiks <> 0
        DrawText(450, 30, "Колесо", RGB(255, 0, 0), RGB(255, 255, 0))
    Else
        DrawText(450, 30, "Колесо", RGB(255, 255, 255))
    EndIf
    DrawText(0, 60, ".: Отпустите кнопку мыши: нажмите левую и правую кнопку :.")
    StopDrawing()

    ; Если щелкнуть левой кнопкой мыши и правой кнопкой мыши, то мышь исчезнет с текущего экрана.
    If MouseButton(#PB_MouseButton_Left)  And MouseButton(#PB_MouseButton_Right)
        ReleaseMouse(1)
        oui=6
        quitter=MessageRequester("Инфо ", "Вы хотите выйти из программы?", #PB_MessageRequester_YesNo)
        If quitter=oui
            End
        EndIf
    EndIf

    FlipBuffers()
    ClearScreen(RGB(0, 0, 0))

ForEver
End

См. также

ExamineMouse(), MouseDeltaX(), MouseDeltaY(), MouseX(), MouseY(), MouseButton()

Поддерживаемые OS

Все

Оглавление Mouse - InitMouse() ->