PDA

Ver la Versión Completa : ActionList y cambio de imagen


jars
17-08-2012, 22:06:58
Hola amigos.
Tengo el siguiente problema:
En un boton asociado a una accion de un actionList, quiero alternar la imagen del mismo. al darle click cambia la imagen y al volver a darle click vuelve a la anterior y asi...
El problema es que le cambio el ImageIndex y siempre me mantiene el mismo.
Le pongo:

procedure TMainForm.ActionDNDExecute(Sender: TObject);
//-----------------------------------------------------------------------------
begin
if ActionDND.Tag = 0 then
begin
ActionDND.ImageIndex := 11;
ActionDND.Tag = 1;
..... codigo
end else
begin
ActionDND.ImageIndex := 10;
ActionDND.Tag = 0;
..... codigo
end;
end;


Alguien sabe como hacer que se actualize la imagen?
Gracias

roman
17-08-2012, 22:31:46
Supongo que eso se debe a que el botón guarda su propia imagen en lugar de usar directamente la del imagelist asociado a la acción. La única manera que he visto para que actualice la imagen es:

1. Borrar la imagen del botón
2. Borra la acción del botón
3. Volver a asignar la acción.

O sea, algo como:


TAction(Action).imageindex := 1;
Bitbtn1.Glyph := nil;
Bitbtn1.Action := nil;
Bitbtn1.Action := Action;


// Saludos

jars
17-08-2012, 23:02:27
Gracias Roman.
Probe lo que propones y la primera vez cambia pero despues no cambia mas.

jars
17-08-2012, 23:13:19
Roman, volvi a probar y funciona.
No lo habia hecho en la misma secuencia que sugeriste.
Muchas gracias.