Obtener el icono de Windows dado una extensión
Hola
En nuestro windows, cada vez que aplicamos una extensión, nos da un icono correspondiente, y sino tiene icono por ser una extensión no reconocida, pues nos da siempre el icono ese de windows que no corresponde a ningún programa en concreto. El caso es que dado una extensión dada, me gustaria recuperar el icono, así pues sería una función que devuelve un componente TIcon, para dibujar el icono en otra parte. Atención, sólo tengo la extensión no el archivo, no me valdría para nada la función ExtractAssociatedIcon, pues esta devuelve un icono a partir de un archivo situado en el disco duro, pero lo que yo tengo es una DBGrid con un campo, Files, que contiene el nombre de cada archivo, eje. Rutas.doc, Planos.pdf, Balance.xls, etc... Estoy buscando por internet y lo mejor que he visto por ahora es esto http://www.jpgriffiths.com/tutorial/...iatedicon.html pero no me vale, porque la función no devuelve un icon sino un string y además, no contempla sólo las extensiones sino que vuelve a la función de la Api ExtractAssociatedIcon, que realmente no me sirve. Un saludo |
Usa la función ShGetFileInfo. En este hilo puedes ver más detalles y hay incluso un ejemplo.
// Saludos |
Veo el ejemplo para un TListView, con este código:
El caso es que no sé aún donde poner el icono, si en TImage o en un Grid, pero si me gustaría que la función me devolviera un TIcon. He hecho esto, pero no me ha funcionado.
Pero en el TImage, no se dibuja nada, sería interesante recuperar el icono como imagen bitmat or TIcon o de las dos maneras. Un saludo |
|
La franja horaria es GMT +2. Ahora son las 00:13:33. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi