Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar el Icono de un Exe, No hay manera humana. (https://www.clubdelphi.com/foros/showthread.php?t=48301)

lag_0 21-09-2007 00:29:21

Cambiar el Icono de un Exe, No hay manera humana.
 
Buenas!!
Pues quiero cambiar el icono de un EXE mediante CODIGO, hasta aquí todo facil ahora viene lo complicado:
El exe al que quiero cambiar, le asigno un Icono al compilarlo que contiene 3: Uno de 16x16, uno de 32x32 y uno de 48x48.
Pues bien, tengo otro icono con los respectivos de cada tamaño y por codigo intento cambiar el icono del exe por el .ico suelto que tiene esos tamaños y que pasa?
Pues que se eliminan del .exe los de 16x16 y 48x48, y pasa a grabarme solo el de 32x32 del ico que tiene los Tres!!

Creo que me he explicado.. a ver si esta vez alugien consigue darme una solución, me dijeron que podía ser por que el exe no tenía el ico en su RES de los tamaños que queria asignarle pero ahora si los tiene y sigo en las mismas, no consigo cambiar el icon group entero, solo un icono.

Muchas gracias :(

paldave 21-09-2007 00:30:52

Podrías poner el código que utilizas para cambiarlo, ¿no te parece?

lag_0 21-09-2007 05:06:41

He usado muchos, todos encontrados en internet, actualmente no uso ninguno por que lo borre y no he conseguido saber adaptar ninguno para que haga esto...

mlara 14-03-2008 06:30:46

Pues veamos... yo intento hacer algo parecido. Decidí continuar este hilo precisamente por eso.

Lo que quiero hacer es cambiar el icono de una ventana de mi aplicación en tiempo de ejecución. Apenas empiezo, pero lo que probé no funciona. Aquí está el código:

Código Delphi [-]
  // Creo la ventana
  Application.CreateForm(TfMiVentana, fMiVentana);
  // Asigno el icono
  fMiVentana.Icon.Assign(Icono);
  // Muestro la ventana
  fMiVentana.Show;

, y listo. Esto no funciona, pues me sigue mostrando el icono definido para la aplicación.

Por si acaso, también intenté esto:

Código Delphi [-]
  // Creo la ventana
  Application.CreateForm(TfMiVentana, fMiVentana);
  // Lista de imagenes... de aquí tomo el icono que quiero en la ventana
  ImageList1.GetIcon(13, fMiVentana.Icon);
  // Muestro la ventana
  fMiVentana.Show;

, y listo. Esto tampoco funciona. Si alguien sabe cómo hacerlo...

Lepe 14-03-2008 12:21:09

Revisa la cantidad de colores y profundidad de color que tiene el icono original y el nuevo.

Saludos

lag_0 14-03-2008 12:25:22

Lo que tu buscas no tiene nada que ver con este tema;
Yo lo que intento es cambiar el Icono en un EXE compilado (externo a mi programa) desde delphi...
Al final lo medio conseguí, lo tuyo no tiene mucho misterio pero ahora mismo no te puedo ayudar... un saludo.

xEsk 14-03-2008 15:50:53

Hola,

He probado:
Código Delphi [-]
Form1.Icon.Assign(Image1.Picture.Icon);
y me ha funcionado sin problemas.

Saludos.

P.D.: He realizado la prueba con el Delphi 2007 for win32

xEsk 14-03-2008 15:54:05

He hecho otra prueba, creando un nuevo formulario en tiempo de ejecución y asignarle un icono, y también ha funcionado:
Código Delphi [-]
  with TForm.Create(self) do
    try
      Icon.Assign(Image1.Picture.Icon);
      ShowModal;
    finally
      Free;
    end;
Saludos.

cHackAll 14-03-2008 16:23:10

Cita:

Empezado por lag_0 (Mensaje 273239)
Yo lo que intento es cambiar el Icono en un EXE compilado (externo a mi programa) desde delphi...

Presumiendo que éste hilo tiene que ver con éste otro que iniciaste, te aconsejo comenzar a buscar por aquí.

Cita:

Empezado por lag_0 (Mensaje 273239)
Lo que tu buscas no tiene nada que ver con este tema;...

...lo tuyo no tiene mucho misterio pero ahora mismo no te puedo ayudar... un saludo.

"Lo cortés no quita lo valiente"

---

mlara; se me ocurre que la propiedad BorderStyle de fMiVentana no es bsSingle o bsSizeable. O talvez algun problema con formularios MDI (¿?)

Saludos

mlara 18-03-2008 04:05:11

Señores, agradezco mucho su colaboración. Después de un par de pruebas... este, pues... lo que sucede es que estaba tomando un ImageList equivocado. Que pena. Sí funciona.


La franja horaria es GMT +2. Ahora son las 21:25:49.

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