Sergioks Posted October 17, 2016 Share Posted October 17, 2016 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
Tomas Posted October 17, 2016 Share Posted October 17, 2016 usernameBox = string.sub(usernameBox, 1, #usernameBox-1) Link to comment
aka Blue Posted October 19, 2016 Share Posted October 19, 2016 @Sergioks Disculpa revivir. ¿Podrías explicarme más o menos cómo hiciste lo de elementClicked? Estoy intentando hacer algo parecido xd. Link to comment
Sergioks Posted October 19, 2016 Author Share Posted October 19, 2016 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 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
aka Blue Posted October 19, 2016 Share Posted October 19, 2016 Vale @Sergioks, muchas gracias Link to comment
Recommended Posts