doppelklick

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

jj2

Betreff: doppelklick

BeitragMo, Jul 30, 2007 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Wie bekomme ich nen einfachen doppelklick hin?

Ich habs so versucht:
Code: [AUSKLAPPEN]

Function doppelklick()
  If mousehitt=1 And dkz=0 Then
    dkz=1
    timerstart=MilliSecs()
 EndIf
   If mousehitt=1 And dkz=1 Then dkz=2
   If MilliSecs()-timerstart>500 Then dkz=0
   If dkz=2 Then doppelklick=1
 Return doppelklick
End Function


Wenn ich das dann so abfrage: If doppelklick=1 then ...
Dann passiert das schon mit nem einfachn klick.
Könnt ihr mir sagen warum?

mfg
jj2
...:::ICH WOHNE IN DER GESÜNDESTEN STADT DEUTSCHLANDS:::...
Meine Pages : www.lpbase.de
mein projekt :Authority von Impulse Soft
User posted image

Hummelpups

BeitragMo, Jul 30, 2007 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 800,600,0,60

Repeat
   Cls
      If MouseHit(1) Then
         If MilliSecs()-time<=500 Then
            Notify("Doppelklick")
         Else
            'Normaler klick
         End If
         time=MilliSecs()
      End If
   Flip
Until KeyHit(key_escape)
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Silver_Knee

BeitragMo, Jul 30, 2007 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
nebenbei wo fragst du in deiner funktion überhaupt das klicken ab? ich sehe kein MouseHit(1) aber ich nehme an dass du dass durch mousehitt vorher abgespeicher hast.
hmm du sagst bei nem einfachen klick... klar geh das mal schritt für schritt durch:

If mousehitt=1 And dkz=0 Then

stimmt! also

dkz=1
timerstart=MilliSecs()

If mousehitt=1 And dkz=1
stimmt auch!also
Then dkz=2

If MilliSecs()-timerstart>500
der timer wurde ja grade erst gsstartet also stimmts net

If dkz=2 Then doppelklick=1
....

PS @code_von_IMurDOOM

hast du kein b+ dann nimm statt notify eben "Runtimeerror"

jj2

BeitragMo, Jul 30, 2007 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
@ imurdoom: ich blick des nicht und ich hab kein b+
ich hab den code ohne notify eingebaut:
Arrow geht nicht

mit ein paar komentaren wärs vielleicht besser
trotzdem thx
jj2

@ftc: was soll ich dann machen bei dem fehler???
...:::ICH WOHNE IN DER GESÜNDESTEN STADT DEUTSCHLANDS:::...
Meine Pages : www.lpbase.de
mein projekt :Authority von Impulse Soft
User posted image
 

Krümel

BeitragMo, Jul 30, 2007 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Als kleine Funktion:
(Button = linke, mittlere oder rechte Maustaste,
ClickSpeed = Klickgeschwindigkeit in Millisekunden)

Code: [AUSKLAPPEN]

Function DoubleClick(Button , ClickSpeed = 250)
   If MouseHit(Button)
      DoubleclickTime = MilliSecs() + ClickSpeed
      While MilliSecs() < DoubleClickTime
         If MouseHit(Button) Return True
      Wend
   EndIf
   Return False
End Function

While Not KeyHit(1)
   If DoubleClick(1) Print "Doppelklick Links"
   If DoubleClick(2) Print "Doppelklick Rechts"
   If DoubleClick(3) Print "Doppelklick Mitte"
Wend


Hier noch eine Variante die das Programm nicht anhält
Code: [AUSKLAPPEN]

Global clickTime[3]
Function DoubleClick(Button , ClickSpeed = 350)
   If MouseHit(Button)
      If (MilliSecs() < ClickTime[Button]) Return True
      clickTime[Button] = MilliSecs() + ClickSpeed
   EndIf
End Function

While Not KeyHit(1)
   AppTitle MilliSecs()
   If doubleClick(1) Print "Doppelklick Links"
   If doubleClick(2) Print "Doppelklick Rechts"
   If doubleClick(3) Print "Doppelklick Mitte"
Wend
  • Zuletzt bearbeitet von Krümel am Di, Jul 31, 2007 7:32, insgesamt einmal bearbeitet

jj2

Betreff: thx

BeitragDi, Jul 31, 2007 0:23
Antworten mit Zitat
Benutzer-Profile anzeigen
danke jetzt hab ichs geblickt
MFG
jj2
...:::ICH WOHNE IN DER GESÜNDESTEN STADT DEUTSCHLANDS:::...
Meine Pages : www.lpbase.de
mein projekt :Authority von Impulse Soft
User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group