Event fehlt? [erledigt]

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Event fehlt? [erledigt]

Beitrag von Kukulkan »

Hallo,

ich nutze folgenden Code (PB 4.51 unter Windows XP):

Code: Alles auswählen

If OpenWindow(0, 100, 200, 795, 560, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  
  ListGadgetID.l = ListIconGadget(#PB_Any,  10,  25, 700, 400, "A", 100, #PB_ListIcon_GridLines)

  Repeat
    Event  = WaitWindowEvent()
    Type   = EventType()
    Debug "Event: " + Str(Event)
    
    If Event = #PB_Event_Gadget
      ; gadget events
      Gadget = EventGadget()
      
      Debug "Gadget Event ------------------------------"
      If Type = #PB_EventType_LeftClick
        ; left-click events
        Debug "Left Click"
        Select Gadget
          Case ListGadgetID.l
            ; grid
            Debug "Grid"
        EndSelect
        
      EndIf
      
    EndIf
      
    If Event = #PB_Event_CloseWindow  ; If the user has pressed on the close button
      Quit = 1
    EndIf

  Until Quit = 1
  
EndIf

End
Leider bekomme ich beim ersten Click auf das Listview keinen Gadget-Event. Erst der zweite Klick kommt dann durch. Woran liegt das????

Kukulkan
Zuletzt geändert von Kukulkan am 24.05.2011 11:01, insgesamt 2-mal geändert.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3875
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Event fehlt?

Beitrag von bobobo »

der erste Klick aktiviert das Gadget.
Setz das Gadget von vorneherein als aktives
oder werte den Fall mit aus oder ..

äää

moment mal

das

Code: Alles auswählen

Gadget = EventGadget() 
gehört unter das

Code: Alles auswählen

  Type   = EventType()
auf jeden Fall VOR das

Code: Alles auswählen

If Type = #PB_EventType_LeftClick
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Event fehlt?

Beitrag von Kukulkan »

Ok, danke. Das ich da nicht drauf gekommen bin... :o

Manchmal Zweifel ich an mir selbst... :freak: Grrr.. :lol:

Kukulkan
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Event fehlt? [erledigt]

Beitrag von Kukulkan »

Spielt die Reihenfolge der Abfragen von

EventType()
EventGadget()

eigentlich eine Rolle (abgesehen von der logischen Reihenfolge)? Sollte ja nicht.

Außerdem verstehe ich deine Anmerkung nicht. Ich frage Type doch erst nach dessen auslesen ab. Und EventGadget frage ich halt nur ab, wenn der Event auch ein Gadget-Event war. Sollte ja nicht falsch sein.

Ich hab weiterhin beobachtet, dass ein Button oder andere Steuerelemente den #PB_EventType_LeftClick sofort bringen. Nur das ListIconGadget() nicht. Das braucht initial ein SetActiveGadget(). Ist das doch ein Bug? Zumindest nicht konsistent...

Kukulkan
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3875
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Event fehlt? [erledigt]

Beitrag von bobobo »

tja .Windows und Events
die werden ja andauernd abgefeuert also sollte man die möglichst genau an einer Stelle
in so einer loop einsammeln und dann auswerten wenn man die braucht, sich aber immer
vergegenwärtigen dass die "oben" eingesammelt worden sind.

ein listiconGadget ist ein komplexes Ding und schon was anderes als ein Button

ob bug oder nicht kann ich nicht beurteilen
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten