Página 1 de 1

[Resuelto]-Iconos en ListBoxEx

Publicado: 22 Mar 2011 11:56
por GeniusMac
Hey... hola a tod@a.
Aquí nuevamente con otra consulta:

En el ListBoxEx he creado una lista de imágenes (lo correcto seria lista de iconos), con 2 iconos, al agregar archivos al ListBoxEx es cargado el icono previamente establecido (1)... esto esta ok, cuando en el reproductor de audio doy clic al Botón "Next" para reproducir el siguiente elemento al ser seleccionado dicho elemento el icono es cambiado al segundo de la lista de imágenes previamente creada (2), para indicar que ese elemento esta siendo reproducido y el elemento que ya fue reproducido con anterioridad asume el icono del resto de los elementos que no están siendo reproducidos que seria (1)... esto también esta ok.

El problema viene cuando quiero lograr el mismo efecto al hacer doble clic en cualquier otro elemento (audio), en el ListBoxEx... el nuevo elemento seleccionado y por ende el nuevo elemento en reproducción asume el icono (2), lo que es perfecto pero el elemento que se reproducía previamente no retorna al icono (1), que es lo que quiero conseguir

Les dejo el código que estoy utilizando para el botón "Next" y que funciona perfectamente para que así se hagan una idea mas clara de lo que quiero lograr al hacer doble clic en el ListBoxEx sobre cualquiera de los elementos que contenga:
if Selected then
   n=ListBoxEx.GetSelectedItem("Plugin1");
   ListBoxEx.SetItemIcon("Plugin1", n, 1);
   i=n+1;
   ListBoxEx.SelectNone("Plugin1");
   Image.SetPos("Alpha", 14, 276);
   Image.SetPos("Seeker", 14, 276);
   Image.SetSize("spritter", 0, 3);
   if i > Items then
      i=1;	
   end
   ListBoxEx.SelectItem("Plugin1", i, true);
   a=ListBoxEx.GetSelectedItem("Plugin1");
   ListBoxEx.SetItemIcon("Plugin1", a, 2);
   Image.SetVisible("Alpha", false);
   Image.SetVisible("Seeker", false);
   Image.SetVisible("spretter", false);
   MediaPlayer.Load("Media",ListBoxEx.GetItemData("Plugin1", i));
-- MediaPlayer.Play("Media");
   Playing = true
   Paused = false
end
Como se puede ver en dicho codigo el evento va de mil maravillas en el boton "Next" y es mas o menos lo que quiero lograr al hacer doble clic en el ListBoxEx.
Espero puedan ayudarme en esto.

Gracias.

Re: Iconos en ListBoxEx

Publicado: 22 Mar 2011 12:13
por rafaxplayer
Has probado ese mismo código en el evento On DoubleClick del ListBoxEx?

Ese código donde esta exactamente?

Re: Iconos en ListBoxEx

Publicado: 22 Mar 2011 14:32
por GeniusMac
El código esta en un botón Next (Siguiente), de mi player, por lo tanto no da el resultado que deseo en el evento "On DoubleClick" del ListBoxEx.

Aclaro que lo que busco es relacionado a los iconos y no al cambio de track.

Gracias por responder... :friends:

Re: Iconos en ListBoxEx

Publicado: 22 Mar 2011 16:18
por rafaxplayer
mmmm prueva esto en On DoubleClick:
--Si te encuentras en un evento del objeto el selected te lo da directamente mediante la variable e_Index
nCountItems = ListBoxEx.GetTotalItems("Plugin1");
for x=1,nCountItems do-- recorremos todos los items de la lista
	if x ~= e_Index then --si no coincide con el selccionado (e_Index) icono 1
		ListBoxEx.SetItemIcon("Plugin1",x, 1);
	else	-- Si coincide icono 2
		ListBoxEx.SetItemIcon("Plugin1",x, 2);
	end
end
MediaPlayer.Load("Media",ListBoxEx.GetItemData("Plugin1", e_Index));--Play icono selccionado
Playing = true
Paused = false
Supongo que te faltaran lineas que tu puedes completar con el tema de imagesize y demas que no se que es.

Puede que falle el loop por el el else no estoy seguro... ya diras algo

Re: Iconos en ListBoxEx

Publicado: 22 Mar 2011 17:42
por GeniusMac
Tu código me lanza error porque después de for se requiere un valor numérico.

Gracias de todas formas... me has aclarado otras dudas.

Seguiré en la búsqueda.

Re: Iconos en ListBoxEx

Publicado: 22 Mar 2011 23:46
por rafaxplayer
sorry , habia un fallo garrafal XD, ya esta arreglado

Re: Iconos en ListBoxEx

Publicado: 23 Mar 2011 04:15
por GeniusMac
rafaxplayer escribió:sorry , habia un fallo garrafal XD, ya esta arreglado
Exacto... ahora va de maravilla, muchas gracias.