Como colocar imagens em menus sem rebentar tudo?

Delphi

01/09/2003

Estimados colegas, estou a desenvolver um sistema de menus que é construido a partir de uma tabela Paradox.

Para tal tenho um imagelist, com as imagens, um actionmanager e uma barra para menus. Tudo corre bem e o código é mais ou menos isto;

actionmanager.mainmenubar1[0].items[0].items.add; // crio um item
actionmanager.mainmenubar1[0].items[0].items[0].caption := ´Clientes´;
actionmanager.mainmenubar1[0].items[0].items[0].visible:= true;
actionmanager.mainmenubar1[0].items[0].items[0].enabled := true;
actionmanager.mainmenubar1[0].items[0].items[0].action := Action1;

Até aqui tudo bem. No entanto se eu adicionar a linha

actionmanager.mainmenubar1[0].items[0].items[0].imageindex := 3;

a aplicação rebenta com ´Access Violation´. O que é que estou a fazer de errado? Como ligar o imagelist a um TAction?

Cumprimentos
bacalhau


Bacalhau

Bacalhau

Curtidas 0

Respostas

Luciano Pimenta®

Luciano Pimenta®

01/09/2003

O ImageList já esta setada nas propriedades do ActionManager ?


GOSTEI 0
Bacalhau

Bacalhau

01/09/2003

O ImageList está setada nas propriedades do ActionManager. Quando coloco a linha

actionmanager.mainmenubar1[0].items[0].items[0].action := Action1;

tenho uma imagem já ligada em Action1 (do tipo TAction). Pela lógica, o item que estou a criar deveria ´herdar´ o index da imagem. Mas não! Tenho de colocar

actionmanager.mainmenubar1[0].items[0].items[0].imageindex := -1;

Caso contrário rebenta


GOSTEI 0
Luciano Pimenta®

Luciano Pimenta®

01/09/2003

Mas, vc tbm deve setar a ImageList no ActionManager, naum basta apenas setar na action.
Experimente...


GOSTEI 0
Bacalhau

Bacalhau

01/09/2003

Estão ambas setadas.

O problema ocorre quando faço o meu item criado igual à Action1 que defini anteriormente.

Todas as propriedades do Action1 são copiadas e modificadas, excepto o imageindex que gera ´Eccess Violation´


GOSTEI 0
POSTAR