Page 1 of 1

Missed #PB_EventType_ReturnKey

Posted: Wed Apr 01, 2020 5:59 pm
by mk-soft
For many examples from PureBasic Forum 8)

Code: Select all

CompilerIf #PB_Compiler_Version >= 572
  #PB_EventType_ReturnKey = $501 ; SDK Event.h
CompilerEndIf

Re: Missed #PB_EventType_ReturnKey

Posted: Sat Aug 26, 2023 11:40 pm
by RSBasic
Thank you. I needed this code now after updating a project to the latest PB version.

Re: Missed #PB_EventType_ReturnKey

Posted: Mon Aug 28, 2023 9:10 pm
by jacdelad
?

Google tells me this was a constant once and isn't anymore. Was it reintroduced? Do all gadget support it?

Re: Missed #PB_EventType_ReturnKey

Posted: Tue Aug 29, 2023 10:44 am
by mk-soft
The event type was supported in the past (pb v5.2).
But it was then also used as a help event constante by others later on.

Example from viewtopic.php?t=73820

Code: Select all

;-TOP

; ----

CompilerIf #PB_Compiler_Version >= 572
  #PB_EventType_ReturnKey = $501 ; SDK Event.h
CompilerEndIf

#MenuEvent_ReturnKey = 1000

Procedure DoEventGadgetType()
  Protected gadget = EventGadget()
  If IsGadget(gadget)
    Select GadgetType(gadget)
      Case #PB_GadgetType_String
        Select EventType()
          Case #PB_EventType_Focus
            AddKeyboardShortcut(0, #PB_Shortcut_Return, #MenuEvent_ReturnKey)
          Case #PB_EventType_LostFocus
            RemoveKeyboardShortcut(0, #PB_Shortcut_Return)
        EndSelect
    EndSelect
  EndIf
EndProcedure

Procedure DoEventReturnKey()
  PostEvent(#PB_Event_Gadget, GetActiveWindow(), GetActiveGadget(), #PB_EventType_ReturnKey)
EndProcedure

; ----

If OpenWindow(0, 0, 0, 400, 300, "StringGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(0, 10, 10, 380, 30, "StringGadget 1")
  StringGadget(1, 10, 50, 380, 30, "StringGadget 2")
  EditorGadget(2, 10, 90, 380, 190)
  
  CreateMenu(0, WindowID(0))
  BindEvent(#PB_Event_Gadget, @DoEventGadgetType())
  BindMenuEvent(0, #MenuEvent_ReturnKey, @DoEventReturnKey())
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        Break
        
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 0
            Select EventType()
              Case #PB_EventType_ReturnKey
                Debug "Return Gadget 0"
                SetActiveGadget(1)
            EndSelect
            
          Case 1
            Select EventType()
              Case #PB_EventType_ReturnKey
                Debug "Return Gadget 1"
                SetActiveGadget(2)
            EndSelect
            
        EndSelect
        
    EndSelect
  ForEver
  
EndIf