MessageRequester triggers itself

Just starting out? Need help? Post your questions and find answers here.
User avatar
Erolcum
User
User
Posts: 51
Joined: Fri Jun 07, 2024 10:45 am
Location: Turkiye
Contact:

MessageRequester triggers itself

Post by Erolcum »

MessageRequester creates the same event number with a StringGadget. Problem is : when I click OK button in requester, it opens again. Click to read-only stringgadget ro see the problem.

Code: Select all

Enumeration
  #WIN_MAIN
  #TEXT_INPUT
  #TEXT_INPUT2
  #STRING_INPUT
  #STRING_INPUT2
  #BUTTON_INTERACT
  #BUTTON_CLOSE
EndEnumeration
Global Quit.b = #False
#FLAGS = #PB_Window_SystemMenu | #PB_Window_ScreenCentered
OpenWindow(#WIN_MAIN, 0, 0, 300, 200, "Interaction", #FLAGS) 
TextGadget(#TEXT_INPUT, 10, 10, 280, 20, "Enter text here:")
StringGadget(#STRING_INPUT, 10, 30, 280, 20, "")
StringGadget(#STRING_INPUT2, 10, 70, 280, 20, "buraya yazamazsın dene bakalım",
             #PB_String_ReadOnly)
TextGadget(#TEXT_INPUT2, 10, 110, 280, 20, "TextGadget")
ButtonGadget(#BUTTON_INTERACT, 10, 170, 120, 20, "Echo text")
ButtonGadget(#BUTTON_CLOSE, 190, 170, 100, 20, "Close window")
SetActiveGadget(#STRING_INPUT)
Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      Debug EventGadget()
      Select EventGadget()
        Case #BUTTON_INTERACT
          text.s = GetGadgetText(#STRING_INPUT)
          SetGadgetText(#TEXT_INPUT2,text)
        Case #STRING_INPUT2
          MessageRequester("Uyarı", "Buraya yazamazsın",#PB_MessageRequester_Warning) 
        Case #BUTTON_CLOSE
          Quit = #True
      EndSelect
  EndSelect
Until Event = #PB_Event_CloseWindow Or Quit = #True
End
You may visit my new Purebasic blog here..
:arrow: https://erolcum-github-io.translate.goo ... r_pto=wapp
Comfort
User
User
Posts: 32
Joined: Thu Jul 05, 2018 11:52 pm

Re: MessageRequester triggers itself

Post by Comfort »

This is constantly being triggered by a Focus event type. Maybe add tooltip instead.

Code: Select all

  Case #STRING_INPUT2
    MessageRequester("Uyarı", "Buraya yazamazsın",#PB_MessageRequester_Warning) 
infratec
Always Here
Always Here
Posts: 7662
Joined: Sun Sep 07, 2008 12:45 pm
Location: Germany

Re: MessageRequester triggers itself

Post by infratec »

Maybe this works:

Code: Select all

Enumeration
  #WIN_MAIN
  #TEXT_INPUT
  #TEXT_INPUT2
  #STRING_INPUT
  #STRING_INPUT2
  #BUTTON_INTERACT
  #BUTTON_CLOSE
EndEnumeration

Global Quit.b = #False

#FLAGS = #PB_Window_SystemMenu | #PB_Window_ScreenCentered
OpenWindow(#WIN_MAIN, 0, 0, 300, 200, "Interaction", #FLAGS) 
TextGadget(#TEXT_INPUT, 10, 10, 280, 20, "Enter text here:")
StringGadget(#STRING_INPUT, 10, 30, 280, 20, "")
StringGadget(#STRING_INPUT2, 10, 70, 280, 20, "buraya yazamazsın dene bakalım", #PB_String_ReadOnly)
TextGadget(#TEXT_INPUT2, 10, 110, 280, 20, "TextGadget")
ButtonGadget(#BUTTON_INTERACT, 10, 170, 120, 20, "Echo text")
ButtonGadget(#BUTTON_CLOSE, 190, 170, 100, 20, "Close window")
SetActiveGadget(#STRING_INPUT)

Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      Debug EventGadget()
      Select EventGadget()
        Case #BUTTON_INTERACT
          text.s = GetGadgetText(#STRING_INPUT)
          SetGadgetText(#TEXT_INPUT2,text)
        Case #STRING_INPUT2
          If EventType() = #PB_EventType_Focus
            SetActiveGadget(-1)
            MessageRequester("Uyarı", "Buraya yazamazsın", #PB_MessageRequester_Warning) 
          EndIf
        Case #BUTTON_CLOSE
          Quit = #True
      EndSelect
  EndSelect
Until Event = #PB_Event_CloseWindow Or Quit = #True
User avatar
Erolcum
User
User
Posts: 51
Joined: Fri Jun 07, 2024 10:45 am
Location: Turkiye
Contact:

Re: MessageRequester triggers itself

Post by Erolcum »

Thank you so much. It works as expected.
You may visit my new Purebasic blog here..
:arrow: https://erolcum-github-io.translate.goo ... r_pto=wapp
Post Reply