Página 1 de 1

[funciones]Detectar dblClick

Publicado: 06 Mar 2011 02:38
por rafaxplayer
Wenas compañeros , aqui van dos funciones para detectar el Doble click en objetos que no disponen de tal avento , la funcion es adaptable a click o un righclick y a mas cosas a gusto del ususario.

la primera funcion detecta cuando estamos sobre el objeto y la tendriamos en global :
function IsInRect(m_nX, m_nY, m_tblPos, m_tblSize)
	local bReturn = false;
	if (m_nX >= m_tblPos.X) and (m_nX <= m_tblPos.X + m_tblSize.Width) then
		if (m_nY >= m_tblPos.Y) and (m_nY <= m_tblPos.Y + m_tblSize.Height) then
			bReturn = true;
		end
	end
	return bReturn;
end
Para ello primero debemos declarar las variables en el onpreload de la pagina:
nLastTime = 0
nDblClickTime = 200
La siguiente seria aplicable a "plugin1" y la ejecutaremos en on mousse button:
if IsInRect(e_X, e_Y, Plugin.GetPos("Plugin1"),Plugin.GetSize("Plugin1")) then
	if e_Type == LEFT_BUTTON_UP then
		nCurTime =  DLL.CallFunction(_SystemFolder .. "\\winmm.dll", "timeGetTime", "", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
		if nCurTime - nLastTime <= nDblClickTime then
		-- Double click action	
		end
	nLastTime = nCurTime
	end
end

Espero os sirvan como a mi ;)

Re: [funciones]Detectar dblClick

Publicado: 06 Mar 2011 21:44
por webultra
Muy buena, a ver si al rato la reviso mejor para saber si la función que esta en On Mouse Button puede detectar automáticamente el tipo de objeto, etc, etc...

Re: [funciones]Detectar dblClick

Publicado: 07 Mar 2011 12:38
por carsonzillo
Rafa el codigo del principio no era el que usaste para intentar que no se saliera el dialogex de la ventana principal? Es muy parecido, aquello no habia forma de resolverlo XD

Re: [funciones]Detectar dblClick

Publicado: 07 Mar 2011 18:17
por rafaxplayer
No no era eso creo , esto es mas bien algo como el OverObject de ceone ;)

Re: [funciones]Detectar dblClick

Publicado: 15 Dic 2011 19:50
por abood1987
good ;)

Re: [funciones]Detectar dblClick

Publicado: 10 Nov 2012 15:22
por pavel
Very good job keep it on !