Error al insertar un icono

Ya que cuando trato de insertar un icono al proyecto me aparece una ventana que dice error inesperado, como puedo solucionar eso.

1 respuesta

Respuesta
1
¿Te refieres para que te salga en el ejecutable o cuando estas usando un ImgList o alguno de estos?
Es para que salga en la parte superior izquierda del programa usando la propiedad Icon, ya que al cargar el icono de 16x16 me sale un error. Espero que me puedas ayudar.
Para el ejecutbale se usa el icono de algún formulario.
¿Entiendo qué te da error al cargar el icon en alguno de ellos o en todos?
Nunca me había pasado, excepto si uso algún archivo que no sea u icono. Solo admite archivos de tipo ICO, los puedes editar con 'michelangelo' que es un buen editor de iconos. Esto limita un poco el diseño pero.
No se si es el caso, si no coméntamelo, pero así a priori no se me ocurre nada más, si acaso le damos una vuelta.
Aun sigo sin poder colocar el icono ya que siempre que voy a colocar un icono me lanza un error, que más puedo intentar.
Esto es de nota y no se si con el error que te está dando va a funcionar pero como cuesta poco probarlo :
- Create en el mismo proyecto un formulario con una 'Image' por cada icono que necesites. Y nombralos de forma que sepas lo que tiene cada uno
- Carga en cada uno su icono y salva el formulario 'frmicon. Frm' por ejemplo.
- Si te vas a la carpeta veras un frmicon. Frx. Eso es una 'dll' con toda la información embebida de las imágenes que vamos a utilizar.
- Si ahora abres con un notepad el frmicon. Frm veras algo así:
VERSION 5.00
Begin VB.Form frmIcon
   Caption         =   "frmIcons"
   ClientHeight    =   8160
   ClientLeft      =   2820
   ClientTop       =   2070
   ClientWidth     =   6585
   LinkTopic       =   "Form1"
   ScaleHeight     =   8160
   ScaleWidth      =   6585
   Begin VB.Image Image3
      Height          =   480
      Left            =   420
      Picture         =   "frmIcon.frx":0000
      Top             =   2520
      Width           =   480
   End
   Begin VB.Image Image2
      Height          =   480
      Left            =   330
      Picture         =   "frmIcon.frx":0CCA
      Top             =   1680
      Width           =   480
   End
   Begin VB.Image Image1
      Height          =   480
      Left            =   390
      Picture         =   "frmIcon.frx":1994
      Top             =   840
      Width           =   480
   End
End
Attribute VB_Name = "frmIcon"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Si te das cuenta el 'picture' apunta siempre al mismo frz pero con distintas direcciones y eso es lo que nos interesa.
Con este dato abrimos el formulario al que queramos poner el icono y añadimos la propiedad 'icon' algo como:
VERSION 5.00
Begin VB.Form Form1
   Caption         =   "Form1"
   ClientHeight    =   7770
   ClientLeft      =   4125
   ClientTop       =   2520
   ClientWidth     =   6585
   Icon     =   "frmIcon.frx":0000
   LinkTopic       =   "Form1"
   ScaleHeight     =   7770
   ScaleWidth      =   6585
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Si te das cuenta hemos copiado el valor de la primera opción del FRX.
Con esto pues cambiar todo es más. Si el día de mañana quisieras cambiar los iconos solo con cambiar el FRX funcionaria.
Suerte, y si no te funciona es algo raro de una DLL y le veo mala solución. Ya habría que meterse a reinstalar cosas o a programar en APIS de windows para cambiar los iconos en tiempo de ejecuión etc. Intentemos primero sistemas más cómodos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas