BindGadgetEvent()
Синтаксис
BindGadgetEvent(#Gadget , @Callback() [, EventType])
Описание
Связывает событие указанного Гаджета с процедурой обратного вызова. Это дополнительный способ обработки событий в PureBasic, он без проблем работает со стандартными командами WindowEvent() и WaitWindowEvent(). Он позволяет получать уведомления о событиях в реальном времени, поскольку процедура обратного вызова может быть вызвана сразу же после возникновения события (это полезно для ScrollBarGadget(), ScrollAreaGadget() и т.д.). Удалить связь события Гаджета с процедурой обратного вызова можно с помощью команды UnbindGadgetEvent().
Параметры
#Gadget Номер, идентифицирующий указанный Гаджет, событие которого будет связано с процедурой обратного вызова. @Callback() Адрес процедуры обратного вызова, которая будет вызываться при возникновении события. Она должна быть объявлена следующим образом: Procedure EventHandler() ; Код процедуры EndProcedure
В рамках процедуры обратного вызова доступны стандартные функции, такие как EventGadget(), EventWindow(), EventMenu(), EventType() и EventData(), которые позволяют получить дополнительную информацию о событии.
Примечание: функции WindowEvent() и WaitWindowEvent() никогда не должны вызываться изнутри процедуры обратного вызова, иначе программа может быть заблокирована или вести себя непредсказуемо.EventType (дополн.) Тип события, используемый при связывании события с процедурой обратного вызова. Полный список поддерживаемых типов см. в описании функции EventType(). Можно использовать значение #PB_All, чтобы связать событие с любым типом с процедурой обратного вызова.
Возвращаемое значение
Ничего.
Пример
Procedure ButtonHandler() Debug "Событие нажатия кнопки в #Gadget" + EventGadget() EndProcedure OpenWindow(0, 100, 100, 200, 90, "Выберите тест", #PB_Window_SystemMenu) ButtonGadget(0, 10, 10, 180, 30, "Нажми на меня") BindGadgetEvent(0, @ButtonHandler()) ButtonGadget(1, 10, 50, 180, 30, "Нажми на меня") BindGadgetEvent(1, @ButtonHandler()) Repeat Event = WaitWindowEvent() Until Event = #PB_Event_CloseWindow
См. также
BindEvent(), BindMenuEvent(), UnbindGadgetEvent(), WindowEvent(), WaitWindowEvent()
Поддерживаемые OS
Все