Jump to content

[AYUDA] dxEditBox


Sergioks

Recommended Posts

Buenas! Tengo un problema y es que, intento hacer un dxEditBox sencillo para un dxLogin. En fin, lo que hice para que se pueda escribir en este, es esto:

 

addEventHandler("onClientCharacter", root,
function(c)
	if ( elementClicked == "password-edit" ) then
		passwordBox = passwordBox..""..c
	elseif ( elementClicked == "username-edit" ) then
		usernameBox = usernameBox..""..c
	end
end
)

Okay, me escribe bien. La cuestión es.. ¿como borrar? Un amigo me paso esto:

bindKey("backspace", "down", function ()
	if ( elementClicked == "password-edit" ) then
		passwordBox = ""
	elseif ( elementClicked == "username-edit" ) then
		usernameBox = ""
	end
end)

pero esto básicamente deja en blanco el editBox, no borra 1 carácter.

 

¿Alguien me puede decir como hacer para borrar un solo carácter sin tener que borrar todo el texto?

Link to comment

Utiliza esta UseFull Function que un amigo me dio (no esta en la wiki)

local screenW, screenH = guiGetScreenSize()

function isMouseWithinRangeOf(posX, posY, sizeX, sizeY)
    if isCursorShowing() == false then
        return false
    end
  	--
    local cx,cy = getCursorPosition()
    cx,cy = cx*screenW,cy*screenH
    if cx >= posX and cx <= posX+sizeX and cy >= posY and cy <= posY+sizeY then
        return true,cx,cy
    else
        return false
    end
end

Ya lo demas es utilizar el evento onClientClick. Algo así:

 

screenW, screenH = guiGetScreenSize()
--
function isMouseWithinRangeOf(posX, posY, sizeX, sizeY)
	if isCursorShowing() == false then
		return false
	end
	--
	local cx,cy = getCursorPosition()
	cx,cy = cx*screenW,cy*screenH
	if cx >= posX and cx <= posX+sizeX and cy >= posY and cy <= posY+sizeY then
		return true,cx,cy
	else
		return false
	end
end

addEventHandler("onClientClick", root,
function()
   if ( isMouseWithinRangeOf(posX, posY, sizeX, sizeY) ) then -- el X, Y, Width y Heigth del dx, sea dxDrawText, dxDrawRectangle, lo que sea...
      --aqui colocas la funcion del "boton".
   end
end)

Espero te halla servido :D

También lo puedes usar para cuando el mouse este sobre el elemento en cuestión, algo así:

addEventHandler("onClientRender", root,
function()
    if ( isMouseWithinRangeOf(posX, posY, sizeX, sizeY) ) then
      --fade
    end
end)

 

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...