Seite 1 von 1

If EventID=#PB_Event_Gadget -> doppelte Ermittlung

Verfasst: 14.05.2005 18:45
von Delle

Code: Alles auswählen

repeat

EventID = WaitWindowEvent()

If EventID=#PB_Event_Gadget
MessageRequester("",Str(GetGadgetState(#Liste)),0)
EndIf

forever
Warum kommt der Requester 2x?

Verfasst: 14.05.2005 18:46
von Leo
Du musst noch zusätzlich, per EventGadgetID() abfragen, welcher Gadget gedrückt wurde.. also z.B.

Code: Alles auswählen

repeat 

EventID = WaitWindowEvent() 

If EventID=#PB_Event_Gadget and EventGadgetID() = #button
MessageRequester("",Str(GetGadgetState(#Liste)),0) 
EndIf 

forever

Verfasst: 14.05.2005 18:58
von Delle
Kommt trotzdem 2x! :-(

Code: Alles auswählen

Enumeration
     
     #Liste
     
EndEnumeration

OpenWindow(0,0,0,110,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"")
CreateGadgetList(WindowID())
     
ListIconGadget(#Liste, 5, 5, 100, 120,"",80)

AddGadgetItem(#Liste,-1,"Test")

Repeat 
     
     EventID = WaitWindowEvent()
     
     If EventID=#PB_Event_Gadget  And EventGadgetID()=#Liste
          
          MessageRequester("","okay",0)
          
          
          
     EndIf
  


ForEver

Verfasst: 14.05.2005 19:01
von Danilo
Delle hat geschrieben:Kommt trotzdem 2x! :-(
Nun fehlt noch EventType().

Code: Alles auswählen

Enumeration
  #Liste
EndEnumeration

OpenWindow(0,0,0,110,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"")
CreateGadgetList(WindowID())

ListIconGadget(#Liste,5,5,100,120,"",80)
AddGadgetItem(#Liste,-1,"Test")

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break
    Case #PB_Event_Gadget
      Select EventGadgetID()
        Case #Liste
          If EventType()=#PB_EventType_LeftClick
            MessageRequester("","okay",0)
          EndIf
      EndSelect
  EndSelect
ForEver