Seite 1 von 3

Doppelklick auf Button?

Verfasst: 30.05.2007 19:09
von PureBasic4.0
Hi, Leute

ich möchte abfragen, ob auf einen Button einfach oder zweifach geklickt worden ist. Gibt es dafür schon einen bereits fertigen Befehl? Ich möchte es nämlich nicht so wie damals machen, als ich den Val Befehl noch nicht kannte.

Beispielcode:

Code: Alles auswählen

Repeat
  a + 1
  if GetGadgetText(#String_0) = a
    Ergebnis = a
    break
  endif
ForEver
Dieser Code ist nicht zum Nachmachen gedacht

Verfasst: 30.05.2007 19:12
von Kaeru Gaman
ich weiß nicht, ob ein button ein doubleclick-event unterstützt.
das mag ich mal bezweifeln.

...aber jetzt so unmotiviert einen schlechtes-beispiel-code zu posten...

mensch, du bis doch echt ma urlaubsreif, meinst nich?

Verfasst: 30.05.2007 19:13
von PureBasic4.0
Kaeru Gaman hat geschrieben:mensch, du bis doch echt ma urlaubsreif, meinst nich?
Ich bin schon in Urlaub. Es sind Ferien, ich habe ganze Nacht programmiert, bin jetzt totmüde und arbeite trotzdem weiter.

Zurück zum Thema:

Alternativ könnte ich ja auch beim Klick auf das Gadget einen Timer laufen lassen. Und wenn der nicht abgelaufen ist, wenn man das zweite mal auf den Timer drückt, soll das Event ausgelöst werden. Wenn der Timer Timedout ist, soll der das vergessen. Wie findest du den Weg?

Verfasst: 30.05.2007 19:13
von hardfalcon

Code: Alles auswählen

EventType()
//EDIT: Die EG-Gesundheitsminister warnen: Programmieren über mehrere Tage hinweg mit schlaf- und Essensentzug verursacht Bauchkrämpfe, Übelkeit, Benommenheit und Impotenz! Am Besten, Sie fangen gar nicht erst damit an...
//EDIT2: Auch die EG-Innenminister schreiben Benommenheit mit großem B... :lol:

Verfasst: 30.05.2007 19:25
von Kaeru Gaman
> verursacht Bauchkrämpfe, Übelkeit, benommenheit und Impotenz!

du hast den Realitätsverlust vergessen. hardcore proggen is schlimmer als durchsaufen.

Verfasst: 30.05.2007 20:00
von PureBasic4.0
Kaeru Gaman hat geschrieben:> verursacht Bauchkrämpfe, Übelkeit, benommenheit und Impotenz!
Hab ich aber alles nicht. Ich werde heut mal eher ins Bett gehen

Verfasst: 30.05.2007 20:04
von Kaeru Gaman
du zitiers ja scho nimmer rischtisch...
isch selbs hab doch scho Hardfalcon zitiert, ey...

yo, geh penne, moje is eneuer dach....

Verfasst: 30.05.2007 20:34
von hjbremer
ein Beispiel für EventType()

Code: Alles auswählen

Repeat                        
    
    EventID = WaitWindowEvent()  
        
    If EventID = #PB_Event_Gadget 
      
      welcherButton=EventGadget() 
      
      Select welcherButton  
      
          Case #listiconGadget_nr
                                          
              listevent=EventType()         
    
              Select listevent 
                    Case 0       ;linke Maustaste
                    Case 1       ;rechte Maustaste
                    Case 2       ;linke Maustaste Doppelklick

              EndSelect          
              
      EndSelect ;von welcherButton
              
                
    EndIf       ;von EventID
    
Until EventID = #PB_Event_CloseWindow
 
oder F1 drücken

funktioniert leider nicht mit Buttongadget wie ich dachte

Verfasst: 30.05.2007 20:43
von PureBasic4.0
ok. danke

Verfasst: 30.05.2007 23:04
von zigapeda
EventType wird aber von dem Buttongadget nicht unterstützt wie Kaeru schon gesagt hat:

Code: Alles auswählen

OpenWindow(0,200,200,200,200,"test")
CreateGadgetList(WindowID(0))
ButtonGadget(0,10,10,180,180,"test")

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      quit=1
    Case #PB_Event_Gadget
      If EventGadget() = 0
        Select EventType()
          Case #PB_EventType_RightClick
            Debug "rechts"
          Case #PB_EventType_LeftClick
            Debug "links"
          Case #PB_EventType_RightDoubleClick
            Debug "rechts doppel"
          Case #PB_EventType_LeftDoubleClick
            Debug "links doppel"
        EndSelect
      EndIf
  EndSelect
Until quit
End