Hola a todos
Pues estoy haciendo un sencillo explorador para que mi pequeña de 3 años ponga sus videos y canciones infantiles y los cambie cada vez que quiera (sin llamarme para que se lo haga yo )
Es algo simple un boton que selecciona la carpeta de canciones y otro la de filmes, y en dependencia de la seleccion muestra el contenido de la carpeta en el listview, pero el shellListview no muestra las vistas en miniatura que las necesito para que la nena se guie en selecionar lo que quiere
De que forma podria hacerlo o que componente me serviría
Hasta ahora lo hace con el explorador de windows, pero como no tiene tanta habilidad, muchas veces en lugar de hacer clic, arrastra la carpeta o archivo, y ya saben ... a buscar donde estan
Si no se puede con algun componente, entonces algun metodo para hacerlo, no solo es mostrar el archivo en vista miniatura, tambien es que al hacerle clic se ejecute el video
Como mostrar vistas miniatura en un listview?
Comenzado por
JoAnCa
, oct 30 2014 10:41
6 respuestas en este tema
#1
Escrito 30 octubre 2014 - 10:41
#2
Escrito 30 octubre 2014 - 03:27
Hola, JoAnCa. Te respondo lo que te respondí en CD. Usa le truco de HcackAll: Obtener cualquier thumbnail de la Shell y crea un TImageList con las imágenes para usarlo en un TListView que usas como explorador...
Saludos.
Saludos.
#3
Escrito 06 noviembre 2014 - 10:11
Pues usando la funcion Obtener cualquier thumbnail de la Shell de cHackAll en http://clubdelphi.co...ad.php?t=80862 combinada con el ejemplo de Neftali Crear componentes en un TScrollBox (runtime) en http://neftali.clubdelphi.com/?p=1087 me funciona bien si pongo directamente la ruta del archivo y el archivo:
Pero si le paso el parámetro en una variable no me funciona
Poniendo:
No me da error, pero los TImagen salen en blanco
A que se debera esto?
Si pongo PChar me da error de incomptibilidad de tipos
delphi
im.Picture.Assign(GetThumbnail('D:\Animados', 'Mickey Mouse.mpg', 96, 96));
Pero si le paso el parámetro en una variable no me funciona
Poniendo:
delphi
Ruta:='D:\Animados'; Arch:='Mickey Mouse.mpg'; im.Picture.Assign(GetThumbnail(PWideChar(ruta), PWideChar(arch), 96, 96));
No me da error, pero los TImagen salen en blanco
A que se debera esto?
Si pongo PChar me da error de incomptibilidad de tipos
#4
Escrito 06 noviembre 2014 - 06:11
Seguro que declaraste Ruta y Arch como String, deben ser WideString
Prueba así:
Saludos.
Prueba así:
delphi
var Ruta, Arch: WideString;
Saludos.
#5
Escrito 12 noviembre 2014 - 08:30
Un poco demorado para contestar, pero es que estaba ocupado con otras cosas
El problema es que hay que hacer algo con la conversion de tipos como se explica en este post http://www.clubdelph...ead.php?t=14801
El problema es que hay que hacer algo con la conversion de tipos como se explica en este post http://www.clubdelph...ead.php?t=14801
delphi
var Buffer :Array [0..1000]of WideChar; Direccion :PWideChar; Addr :String; begin Addr:=edtCamino.Text + '\' + Tapiz; Direccion:= StringToWideChar(Addr,Buffer,Length(Addr)+1); StatusBar1.Panels[0].Text := WideCharToString(Direccion); end;
#6
Escrito 12 noviembre 2014 - 04:12
Un poco demorado para contestar, pero es que estaba ocupado con otras cosas
El problema es que hay que hacer algo con la conversion de tipos como se explica en este post http://www.clubdelph...ead.php?t=14801
delphi
var Buffer :Array [0..1000]of WideChar; Direccion :PWideChar; Addr :String; begin Addr:=edtCamino.Text + '\' + Tapiz; Direccion:= StringToWideChar(Addr,Buffer,Length(Addr)+1); StatusBar1.Panels[0].Text := WideCharToString(Direccion); end;
¿Y no es más fácil convertirlo así?:
delphi
var Ruta, Arch: String; begin Ruta:='D:\Peliculas'; Arch:='Ocho.apellidos.vascos.2014.DVDRip.ilar.avi'; im.Picture.Assign(GetThumbnail(PWideChar(WideString(ruta)), PWideChar(WideString(arch)), 96, 96)); end;
Saludos.
#7
Escrito 14 noviembre 2014 - 08:38
Tienes razon, es mucho mas facil así
Cuando probe el ejemplo que encontre, como funciono bien, asi lo deje y no pense en optimizarlo
Muchas gracias
Cuando probe el ejemplo que encontre, como funciono bien, asi lo deje y no pense en optimizarlo
Muchas gracias