Описание функции
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