Millisekunden nach mouse_down

Anfängerfragen zum Programmieren mit PureBasic.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Millisekunden nach mouse_down

Beitrag 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
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Millisekunden nach mouse_down

Beitrag 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 :roll:
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: Millisekunden nach mouse_down

Beitrag 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
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Millisekunden nach mouse_down

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Millisekunden nach mouse_down

Beitrag 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.

Code: Alles auswählen

GetDoubleClickTime_()
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Millisekunden nach mouse_down

Beitrag von TomS »

Achja. Da war was.
Danke.
Ist auf meinem System sogar auch 500.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Millisekunden nach mouse_down

Beitrag von STARGÅTE »

500 :o

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)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: Millisekunden nach mouse_down

Beitrag von delikanli_19_82 »

vielen dank euch allen für die info :-)

mfg

kurt
Antworten