Enargy, Posted January 3, 2016 Share Posted January 3, 2016 Hola, He estado haciendo una gridlist para una simple librería con elementos GUI y tengo un problema. window = createWindow(200, 200, 500, 500, "GUI") list = createList(20,50,250,400,window) addColumn(list, "one", 0.5) --addColumn(list, "two", 0.5) --addColumn(list, "guapo", 0.5) function addColumn(list, text, width) local ww, _ = getSize(list); local row = {}; row[#columns+1] = guiCreateLabel( 5, 5, 0, 50, text, false,list); table.insert(columns, {list = row[#columns+1], text = text, width = width}); for i, column in ipairs(columns) do if not column.list == row[i] then break; end -- Aqui es donde no entiendo. guiSetSize(0, 0, false); guiSetPosition(column.list, 0, 5, false); end end A la hora de crear el texto me sale en un lugar donde no quiero. en la gridlist que trae MTA al crear dos columnas, la segunda columna toma la posicion x que es el ancho de la primera columna. así que trate de hacer algo parecido usando guiSetText y guiSetPosition pero no me salen bien. Link to comment
Enargy, Posted January 3, 2016 Author Share Posted January 3, 2016 La idea es que al crear la primera columna con addColumn, el parámetro width sea el que pueda manipular el ancho del label, y luego usar guiGetSize para retornar al valor que se le dio y luego guiSetPosition para poder posicionarla. Quedaria asi. y hacer el mismo procedimiento con las demas columnas. local sx, _ = guiGetSize(column.list); guiSetPosition(column.list, sx, 5, false); Link to comment
Recommended Posts