By default you can activate a Button with the SPACE key, but you can't with RETURN.
This example show howto solve this problem
Code: Select all
;/ Simulate a left click when you press ENTER over an activated Button
;/ Author: Nico & Droopy
#Window_0=0
#Button_0=1
#Button_1=2
ProcedureDLL ReturnKeyToButtonClick(Window)
If EventwParam()=#VK_RETURN
handle=GetFocus_()
buffer.s=Space(255)
GetClassName_(handle,@buffer,Len(buffer))
If buffer="Button"
PostMessage_(WindowID(Window),#WM_COMMAND,#PB_EventType_LeftClick<<16,handle)
EndIf
EndIf
EndProcedure
OpenWindow(#Window_0, 216, 0, 130, 111, "Return Test", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar |#PB_Window_ScreenCentered)
ButtonGadget(#Button_0, 10, 10, 110, 40, "OK")
ButtonGadget(#Button_1, 10, 60, 110, 40, "CANCEL")
SetActiveGadget(#Button_0)
Repeat
Select WaitWindowEvent()
;/ Manage Event when user press RETURN key
Case #WM_KEYDOWN
ReturnKeyToButtonClick(#Window_0)
;/ Manage Gadget event
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_0
Debug "e"
Beep_(400,250)
Case #Button_1
Beep_(800,250)
EndSelect
Case #WM_CLOSE
End
EndSelect
ForEverr