Hola a todos.
Me propuse hacer una gridList en directX simplemente por pasar el rato y pues para ir aprendiendo más, lo que pasa es que llegue a un punto en el que tengo un problema con el scroll.
El scroll lo logré hacer, a mi manera por supuesto, pero lo que pasa es que al llegar al final de la gridList se puede seguir haciendo scroll y esto obviamente bugea el script, estuve pensando un rato y no pude llegar a una solución, mi pregunta es ¿cómo puedo ponerle límite?, este es el código que recién llevo:
k = 1
list = {
"Example #1",
"Example #2",
"Example #3",
"Example #4",
"Example #5",
"Example #6",
"Example #7",
"Example #8",
"Example #9",
"Example #10",
"Example #11",
"Example #12",
"Example #13",
"Example #14",
"Example #15",
"Example #16",
"Example #17",
"Example #18",
"Example #19",
"Example #20",
}
addEventHandler ("onClientRender", root, function ()
if #list <= 10 then lines = #list else lines = 10 end
dxDrawRectangle (185, 220, 220, 31.6*lines, tocolor (0, 0, 0, 200))
for i = 1, lines, 1 do
a = i
i = i+k
text = list[i]
pos = 30*a
dxDrawRectangle (195, 200+pos, 200, 25, tocolor (0, 0, 0, 100))
dxDrawLinedRectangle (195, 200+pos, 200, 25, tocolor (255, 255, 255, 200))
dxDrawText ("#"..i..". "..text, 200, 200+pos, 400, 225+pos, tocolor (255, 255, 255, 255), 1.25, "default-bold", "left", "center")
end
end)
bindKey ("mouse_wheel_down", "down", function () k = k+1 end)
bindKey ("mouse_wheel_up", "down", function () k = k-1 end)
function dxDrawLinedRectangle (x, y, width, height, color, _width, postGUI)
local _width = _width or 1
dxDrawLine (x, y, x+width, y, color, _width, postGUI)
dxDrawLine (x, y, x, y+height, color, _width, postGUI)
dxDrawLine (x, y+height, x+width, y+height, color, _width, postGUI)
return dxDrawLine (x+width, y, x+width, y+height, color, _width, postGUI)
end
Muchas gracias a todos de antemano. Si no es mucho pedir y como sigo aprendiendo aún... Si tienen recomendaciones para mejorar mi manera de escribir códigos son totalmente bienvenidas... Hasta luego!