Описание функции


WM_COMMAND

Сообщение выполняется при клике на элементах окна.

Параметры

Указанные параметры передаются системой.
wParam Двойное слово содержит:
    младшее слово = идентификатор элемента
    старшее слово = код действия с кнопкой (NotifyCode)
lParam Дескриптор элемента

Примечания

Смотрите функцию SetWindowCallback.

Пример

EnableExplicit

#Button = 0
#Window = 0
Global hBtn, help.s, k = 0

Procedure MyWindowCallback(hWin, Msg, wParam, lParam)
    Protected nNotifyCode, nID
    nID = wParam & $FFF ; LoWord
    nNotifyCode = wParam >> 16 ; HiWord

    Select Msg
        Case #WM_COMMAND
            Select lParam
                Case hBtn
                    Select nNotifyCode
                        Case #BN_CLICKED
                            k + 1
                            SetWindowTitle(#Window , "Вызов " + k + " ID =" + lParam)
                    EndSelect
                EndSelect
        EndSelect
    ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure

help.s = "Пример события" + #CRLF$ + "кнопок" + #CRLF$ + #CRLF$ + "" + #CRLF$ + "-"


If OpenWindow(#Window, 0, 0, 550, 320,"Кликайте", #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget)
    ButtonGadget(#Button, 225, 66, 70, 25, "qwer")
    hBtn = GadgetID(#Button)
         SetWindowCallback(@MyWindowCallback())
         Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf