Doppelklick auf Button?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Doppelklick auf Button?

Beitrag 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
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag 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?
Zuletzt geändert von PureBasic4.0 am 30.05.2007 19:14, insgesamt 1-mal geändert.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag 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:
Zuletzt geändert von hardfalcon am 30.05.2007 19:26, insgesamt 1-mal geändert.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> verursacht Bauchkrämpfe, Übelkeit, benommenheit und Impotenz!

du hast den Realitätsverlust vergessen. hardcore proggen is schlimmer als durchsaufen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag 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
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

du zitiers ja scho nimmer rischtisch...
isch selbs hab doch scho Hardfalcon zitiert, ey...

yo, geh penne, moje is eneuer dach....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Beitrag 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
Zuletzt geändert von hjbremer am 31.05.2007 08:56, insgesamt 1-mal geändert.
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

ok. danke
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Antworten