2011-08-29 20 views
5

¿Cuál es la forma correcta de definir un icono compatible con win7 en una aplicación Delphi? (tamaño variable en el escritorio)Icono compatible con Windows 7 configurado en una aplicación Delphi 2007

He diseñado un icono de 256 * 256 y luego hice las 16 * 16, 24 * 24, 48 * 48 variantes. (en la guía Microsoft UX, parecen decir que estos tamaños deben incluirse para una visualización correcta en el escritorio).

He puesto todas las variaciones de iconos en un documento de múltiples capas en Gimp y exporté todo el material como un ico. Luego lo puse como icono de la aplicación en las opciones del proyecto, siguiendo la forma directa de asignar un ícono a una aplicación.

FINALly He puesto un shorcut en el escritorio de Win (win7) pero al hacer "Ctrl + Wheel" (cambio de tamaño de iconos de escritorio, si aún no lo sabes ...) en el escritorio (Win 7) , el ícono correcto no se muestra, después de 48 * 48 mantiene el mismo tamaño (sospecho que solo se usa la versión 48 * 48).

+0

La versión 256px debe ser un archivo PNG. ¿Es tuyo? Recomendaría IcoFX para clasificar sus diversas imágenes en un archivo .ico. Además, algunas versiones anteriores del compilador de recursos de Delphi no son compatibles con los iconos PNG de 256 px. Use MS rc en su lugar si ese es el caso. –

+0

No, la versión de 256 px no está (aún ...) comprimida. – az01

+0

En realidad, creo que el sistema acepta un bmp de 256px. Aunque no es un gran plan. ¡Son enormes! –

Respuesta

8

El icono de 256 píxeles debe ser un icono PNG comprimido. Sospecho que al compilador de recursos incluido en Delphi 2007 no le gustará ese formato, por lo que deberá usar el compilador de recursos MS, rc. El icono debe llamarse MAINICON. Dicho esto, sospecho que un mapa de bits de 256px funcionará, será excesivamente grande.

Además, IIRC, a Delphi IDE no le gustan los iconos PNG de 256px, por lo que no es bueno agregar el ícono al proyecto a través del IDE. Necesita construir el archivo .res usted mismo y vincularlo con una directiva {$R ...}.

Finalmente, es posible que su archivo .ico no sea correcto. La imagen de 256px en realidad se almacena con ancho y alto igual a 0 porque ese campo tiene un tamaño de byte y 0 anteriormente no era válido. Tal vez esto es lo que el IDE se burla. Verifique el archivo .ico en una herramienta diferente, p. IcoFX.

Puede haber otros problemas, estos son solo los que puedo recordar encontrar en los últimos años. Si tuviera que adivinar qué tema te estaba mordiendo, diría que fue la incapacidad del IDE para manejar íconos de 256px.

Creo que el IDE ha mejorado progresivamente en esta área en versiones más recientes, pero incluso en D2010 que utilizo actualmente, no es perfecto.

+0

He utilizado el compilador de recursos proporcionado en XE2 beta para compilar el conjunto de iconos. Es el mismo que el de Microsoft, excepto que no necesito los archivos h. Compila el rc ... de hecho, el problema aún persiste. Es solo que los datos D2007-output-exe RC no gestionan recursos comprimidos ... no hay manera de cambiar eso. Incluso en ResHack no hay manera de reemplazar el res ... Simplemente no se gestiona en versiones anteriores ... – az01

+0

I ' no tengo XE2, pero esperaba que brcc32 aún fuera diferente de MS rc. He utilizado con éxito iconos comprimidos con RC durante algunos años. –

Cuestiones relacionadas