Sergioks

[AYUDA] dxEditBox

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?

Share this post


Link to post
usernameBox = string.sub(usernameBox, 1, #usernameBox-1)

 

Share this post


Link to post

@Sergioks Disculpa revivir. ¿Podrías explicarme más o menos cómo hiciste lo de elementClicked? Estoy intentando hacer algo parecido xd.

Share this post


Link to post

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)

 

Share this post


Link to post

  • Recently Browsing   0 members

    No registered users viewing this page.