PureBasic

EventlParam()

Синтаксис

Result = EventlParam()

Описание


Эта функция больше не поддерживается и не должна использоваться в новом проекте. Чтобы получить полный контроль над событиями Окон - используйте процедуры обратного вызова, с помощью SetWindowCallback().

Пример (Фран): Устаревший вариант

OpenWindow(0, 0, 0, 300, 200, "Messages", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)

Repeat
    Event = WaitWindowEvent()
    Debug "-> Событие №"+Str(Event)+" : WParam="+Str(EventwParam())+" , LParam="+Str(EventlParam())
    Select Event
        Case #PB_Event_CloseWindow
            End
    EndSelect
ForEver

Пример (Фран): Вариант с использованием процедуры обратного вызова

Procedure WinCallback(hWnd, uMsg, wParam, lParam)
    Debug "Событие №"+Str(uMsg)+" : WParam="+Str(wParam)+" , LParam="+Str(lParam)
    ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

OpenWindow(0, 0, 0, 300, 200, "Messages", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)

SetWindowCallback(@WinCallback())

Repeat
    Event = WaitWindowEvent()
    ;Debug "-> Событие №"+Str(Event)+" : WParam="+Str(EventwParam())+" , LParam="+Str(EventlParam())
    Select Event
        Case #PB_Event_CloseWindow
            End
    EndSelect
ForEver

Пример (Фран):

; Нажмите комбинацию нескольких клавиш: CTRL, SHIFT, кнопка мыши, затем щелкните левой кнопкой мыши
OpenWindow(0, 0, 0, 300, 200, "Messages", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)

TextGadget(0, 4, 4, 392, 92, "Clic")

Repeat
    event = WaitWindowEvent()

    Select event
        Case #WM_LBUTTONDOWN
            x = EventlParam() & $FFFF  ; Не-полновесное слово (16 Bits)
            y = EventlParam()>>16        ; Полновесное слово  (16 Bits)
            cles = EventwParam()

            SetGadgetText(0, "X= " + Str(x) + "  Y= " + Str(y) + Chr(13) + Chr(10) + "Клавиша: " + RSet(Bin(cles), 32, "0"))

            combinaison$ = ""
            If cles & #MK_CONTROL
                combinaison$ = combinaison$ + " CTRL "
            EndIf
            If cles & #MK_SHIFT
                combinaison$ = combinaison$ + " SHIFT "
            EndIf
            If cles & #MK_MBUTTON
                combinaison$ = combinaison$ + " Щелчок средней кнопкой мыши "
            EndIf
            If cles & #MK_RBUTTON
                combinaison$ = combinaison$ + " Щелчок правой кнопкой мыши "
            EndIf
            If cles & #MK_LBUTTON
                combinaison$ = combinaison$ + " Щелчок левой кнопкой мыши "
            EndIf

            Debug  combinaison$

    EndSelect
Until event = #PB_Event_CloseWindow

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

Windows

<- EventWindow() - Оглавление Window - EventwParam()->