Seite 1 von 1
Millisekunden nach mouse_down
Verfasst: 18.05.2011 22:34
von delikanli_19_82
hallo leute,
es geht bei dieser frage um purebasic 4.60beta3 im allgemeinen. suche nach einer os-indenpenden-lösung.
da der neue canvas-gadget keinen double-click unterstützt, dachte ich mir, das ich mittels millisekunden-check zwischen zwei hintereinander folgenden *buttonUp's den double-click künstlich dennoch realisieren konnte.
dazu habe ich es mit dem elapsedmilliseconds versucht. der hat bei mir nicht den erwünschten effekt erbracht.
hat jemand einen vorschlag?
mfg
kurt
Re: Millisekunden nach mouse_down
Verfasst: 18.05.2011 23:17
von TomS
Ist ja interessant. ElapsedMilliseconds alleine tut auch nichts. Da muss man schon einen Code drum herum schreiben.
Also entweder postest du jetzt mal deinen Code, der nicht funktioniert, oder du wartest bis dir jemand dein Programm für dich schreibt

Re: Millisekunden nach mouse_down
Verfasst: 18.05.2011 23:21
von delikanli_19_82
weil es nicht funkt habe ich es gelöscht. daher kein code. ich wollte eigentlich einen neuen ansatz als vorschlag erhalten.
naja.. muss schauen, ob ich eine andere lösung finde.
trotzdem danke...
mfg
kurt
Re: Millisekunden nach mouse_down
Verfasst: 18.05.2011 23:27
von TomS
Systemunabhängig geht eigentlich eh nicht, leider (zumindest nicht ohne Linux/Mac-Api)
Zumindest unter Windows kann man einstellen wie viel Zeit zwischen den 2 Klicks maximal vergehen kann.
Diesen Wert müsste man eigentlich aus der Registry auslesen.
Anderenfalls kommen ältere Leute nicht mit, da sie langsame Doppelklicks gewöhnt sind.
Und wenn man das Interval höher stellt, nervt es nur die Leute, die auch mal schnell 2 einzelne Klicks machen (je nach UI).
Also hier der Code mit einem von dir festgelegten Interval in ms.
Code: Alles auswählen
Define timestamp.i
#dblClickTime = 500
hWnd = OpenWindow(#PB_Any, 0, 0, 800, 600, "Fenster", #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
CanvasGadget(0, 0, 0, 800, 600)
Repeat
event = WaitWindowEvent(20)
If event = #PB_Event_Gadget
If EventGadget() = 0
If EventType() = #PB_EventType_LeftButtonUp
If ElapsedMilliseconds() - timestamp <= #dblClickTime
Debug "Doppelklick"
Else
Debug "Einzelklick"
EndIf
timestamp = ElapsedMilliseconds()
EndIf
EndIf
EndIf
Until event = #PB_Event_CloseWindow
End
Re: Millisekunden nach mouse_down
Verfasst: 19.05.2011 01:58
von ts-soft
TomS hat geschrieben:Zumindest unter Windows kann man einstellen wie viel Zeit zwischen den 2 Klicks maximal vergehen kann. Diesen Wert müsste man eigentlich aus der Registry auslesen.
Gruß
Thomas
Re: Millisekunden nach mouse_down
Verfasst: 19.05.2011 11:37
von TomS
Achja. Da war was.
Danke.
Ist auf meinem System sogar auch 500.
Re: Millisekunden nach mouse_down
Verfasst: 19.05.2011 11:45
von STARGÅTE
500
also bei mir habe ich Doppelklcik so kurz wie möglich eingestellt. Derzeit 200ms.
Liegt vermutlich daran, das ich nicht immer 500ms warten will, eh der nächste klick nur als einfachklick gewertet wird.
(zB beim ändern von Dateinamen)
Re: Millisekunden nach mouse_down
Verfasst: 19.05.2011 12:44
von delikanli_19_82
vielen dank euch allen für die info
mfg
kurt