Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Cambiar Icono de un Form en tiempo de ejecución (https://www.clubdelphi.com/foros/showthread.php?t=40179)

gluglu 08-02-2007 23:06:11

Cambiar Icono de un Form en tiempo de ejecución
 
Hola compañeros !

Como puedo cambiar el icono de un Form en tiempo de ejecución, cargando para ello un icono que esté almacenado en un TImageList ?

He probado con
Código Delphi [-]
var
  Aux_Icon : TIcon;
...
 
MainForm.ImageList1.GetIcon(0,Aux_Icon);
MainForm.Icon := Aux_Icon;
pero en vez de cogerme la imagen con el índice 0 que está en el ImageList1, me coge el icono asignado al ejecutable :confused: .

Gracias

gluglu 09-02-2007 00:19:11

Ya lo conseguí ...

Me faltaba crear el TIcon.

Código Delphi [-]
var
  Aux_Icon : TIcon;
...
 
Aux_Icon := TIcon.Create;
MainForm.ImageList1.GetIcon(0,Aux_Icon);
MainForm.Icon := Aux_Icon;
...
Aux_Icon.Free;

gluglu 09-02-2007 01:03:27

También funciona sin la ayuda de TIcon ...
Código Delphi [-]
MainForm.ImageList1.GetIcon(0, TForm(MainForm).Icon);

lo que sí que me pasa es que entiendo que los iconos que se muestran son de 16x16 bits, y no sé si 256 colores o color de 32 bits. En cualquier caso, al reemplazar el icono del Form con el método arriba indicado, la imagen del icono en el form se 'distorsiona' y bien aparece con líneas en blanco, o no se vé con la misma calidad que si lo asigno directamente en el propiedad 'Icon' del 'Object Inspector'.

Desconozco el por qué.


La franja horaria es GMT +2. Ahora son las 20:54:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi