If EventID=#PB_Event_Gadget -> doppelte Ermittlung

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

If EventID=#PB_Event_Gadget -> doppelte Ermittlung

Beitrag 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?
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag 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
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag 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
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag 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
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten