Fórum [Ajuda] ImageList via codigo. #468822
04/02/2014
0
ActionManager1 := TActionManager.Create(Form);
Ribbon1.ActionManager := ActionManager1;
ActionManager1.Images := ImageList1;
ActionBarItem1 := ActionManager1.ActionBars.add;
ActionBarItem1.ActionBar := RibbonGroup1;
ActionManager1.Images := ImageList1; // nesta linha que da o erro.
ActionClientItem1 := ActionBarItem1.Items.add;
ActionClientItem1.Caption := 'Clientes';
ActionClientItem1.Action.Index := 0;
Inayerô Sá
Curtir tópico
+ 0Posts
04/02/2014
Thiago Irrazabal
procedure TForm1.Button1Click(Sender: TObject);
var
Img: TImageList;
Bmp: TBitmap;
Act: TActionManager;
begin
try
Img := TImageList.Create(nil);
Act := TActionManager.Create(nil);
Bmp := TBitmap.Create;
if OpenDialog1.Execute then
Bmp.LoadFromFile(OpenDialog1.FileName);
Img.Add(Bmp, nil);
Act.Images := Img;
finally
FreeAndNil(Img);
FreeAndNil(Bmp);
FreeAndNil(Act);
end;
end;
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
05/02/2014
Douglas
Gostei + 0
06/02/2014
Inayerô Sá
procedure TForm3.Button1Click(Sender: TObject);
Var
Form: TForm;
Ribbon1: TRibbon;
ActionManager1: TActionManager;
ImageList1: TImageList;
RibbonTabItem1: TRibbonTabItem;
RibbonGroup1: TRibbonGroup;
ActionBarItem1: TActionBarItem;
ActionClientItem1: TActionClientItem;
begin
Form := TForm.Create(Application);
with Form do
begin
Caption := 'Tempo de Execução';
WindowState := wsMaximized;
end;
with Ribbon1 do
begin
Ribbon1 := TRibbon.Create(Form);
Caption := 'TESTE';
Parent := Form;
end;
with RibbonTabItem1 do // CRIAÇÃO DA ABA DO RIBBON1.
begin
RibbonTabItem1 := Ribbon1.Tabs.Add;
Caption := 'CADASTROS';
// Criando o ActionManager no Form e ligando-o ao Ribbon1.
ActionManager1 := TActionManager.Create(Form);
Ribbon1.ActionManager := ActionManager1;
with RibbonGroup1 do // CRIAÇÃO DOS GRUPOS.
begin
RibbonGroup1 := TRibbonGroup.Create(Ribbon1);
Parent := RibbonTabItem1.Page;
Caption := 'Cadastro';
end;
// CRIANDO AÇÃO DENTRO DO GRUPO.
ActionBarItem1 := ActionManager1.ActionBars.Add;
ActionBarItem1.ActionBar := RibbonGroup1;
{ImageList1 := TImageList.Create(Form);
ActionManager1.Images := ImageList1;} // IMAGELIST.
// ADICIONANDO AÇÕES.
ActionClientItem1 := ActionBarItem1.Items.Add;
ActionClientItem1.Caption := 'Cliente';
end;
Ribbon1.TabIndex := 0;
Form.ShowModal;
FreeAndNil(Form);
end;
end.
Agradeço desde já pela atenção.
Att, Inayerô
Gostei + 0
06/02/2014
Inayerô Sá
Caro Douglas, minha duvida é, depois de criado um ribbon e suas propriedades, depois criado um actionmanager tudo isso em tempo de execução, gostaria de jogar também via codigo uma imagem para essa ação criada. Agradeço a atenção.
Att, Inayerô
Gostei + 0
06/02/2014
Thiago Irrazabal
var
Form: TForm;
//Ribbon1: TRibbon;
ActionManager1: TActionManager;
ImageList1: TImageList;
//RibbonTabItem1: TRibbonTabItem;
//RibbonGroup1: TRibbonGroup;
ActionBarItem1: TActionBarItem;
ActionClientItem1: TActionClientItem;
begin
Form := TForm.Create(Application);
with Form do
begin
Caption := 'Tempo de Execução';
WindowState := wsMaximized;
end;
{with Ribbon1 do
begin
Ribbon1 := TRibbon.Create(Form);
Caption := 'TESTE';
Parent := Form;
end;}
{with RibbonTabItem1 do // CRIAÇÃO DA ABA DO RIBBON1.
begin
RibbonTabItem1 := Ribbon1.Tabs.Add;
Caption := 'CADASTROS';}
// Criando o ActionManager no Form e ligando-o ao Ribbon1.
ActionManager1 := TActionManager.Create(Form);
//Ribbon1.ActionManager := ActionManager1;
{with RibbonGroup1 do // CRIAÇÃO DOS GRUPOS.
begin
RibbonGroup1 := TRibbonGroup.Create(Ribbon1);
Parent := RibbonTabItem1.Page;
Caption := 'Cadastro';
end; }
// CRIANDO AÇÃO DENTRO DO GRUPO.
ActionBarItem1 := ActionManager1.ActionBars.Add;
//ActionBarItem1.ActionBar := RibbonGroup1;
ImageList1 := TImageList.Create(Form);
ActionManager1.Images := ImageList1; // IMAGELIST.
// ADICIONANDO AÇÕES.
ActionClientItem1 := ActionBarItem1.Items.Add;
ActionClientItem1.Caption := 'Cliente';
// end;
//Ribbon1.TabIndex := 0;
Form.ShowModal;
FreeAndNil(Form);
end;
Qual Delphi tu usa ? não sei o que pode estar ocasionando o erro.
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
06/02/2014
Inayerô Sá
Gostei + 0
06/02/2014
Inayerô Sá
Foi mal Thiago, não prestei atenção e não vi a parte do código comentado.
att, Inayerô
Gostei + 0
06/02/2014
Thiago Irrazabal
Foi mal Thiago, não prestei atenção e não vi a parte do código comentado.
att, Inayerô
Ainda está dando o erro aí ?
No código acima, só mostra o Formulário, não mostra nenhuma imagem pelo fato de que eu não vinculei o ActionManager a nenhum outro componente e também, não adicionei nenhuma imagem no ImageList, simplesmente o criei.
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
06/02/2014
Inayerô Sá
Foi mal Thiago, não prestei atenção e não vi a parte do código comentado.
att, Inayerô
Ainda está dando o erro aí ?
No código acima, só mostra o Formulário, não mostra nenhuma imagem pelo fato de que eu não vinculei o ActionManager a nenhum outro componente e também, não adicionei nenhuma imagem no ImageList, simplesmente o criei.
Att,
Thiago Irrazabal de Oliveira.
Cara o estranho que não da erro, mas a imagelist não está se vinculando a ação criada pelo actionmanager e não exibe a imagem nesta ação.
Estranho isso, o que acha que poderia ser?
Att,
Inayerô
Gostei + 0
06/02/2014
Thiago Irrazabal
Foi mal Thiago, não prestei atenção e não vi a parte do código comentado.
att, Inayerô
Ainda está dando o erro aí ?
No código acima, só mostra o Formulário, não mostra nenhuma imagem pelo fato de que eu não vinculei o ActionManager a nenhum outro componente e também, não adicionei nenhuma imagem no ImageList, simplesmente o criei.
Att,
Thiago Irrazabal de Oliveira.
Cara o estranho que não da erro, mas a imagelist não está se vinculando a ação criada pelo actionmanager e não exibe a imagem nesta ação.
Estranho isso, o que acha que poderia ser?
Att,
Inayerô
Cara, mas em momento algum do código tu adiciona uma imagem ao imagelist, é isso que está faltando.
Faz o Seguinte declara uma variável Btm do tipo TBitmap e depois do create do imagelist tu faz isso, substituindo o caminho ali pelo caminho e nome da imagem que tu quer:
Bmp := TBitmap.Create;
Bmp.LoadFromFile('C:\Temp\Imagem1.bmp');
Imagelist1.Add(Bmp, nil);
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
06/02/2014
Inayerô Sá
Foi mal Thiago, não prestei atenção e não vi a parte do código comentado.
att, Inayerô
Ainda está dando o erro aí ?
No código acima, só mostra o Formulário, não mostra nenhuma imagem pelo fato de que eu não vinculei o ActionManager a nenhum outro componente e também, não adicionei nenhuma imagem no ImageList, simplesmente o criei.
Att,
Thiago Irrazabal de Oliveira.
Cara o estranho que não da erro, mas a imagelist não está se vinculando a ação criada pelo actionmanager e não exibe a imagem nesta ação.
Estranho isso, o que acha que poderia ser?
Att,
Inayerô
Cara, mas em momento algum do código tu adiciona uma imagem ao imagelist, é isso que está faltando.
Faz o Seguinte declara uma variável Btm do tipo TBitmap e depois do create do imagelist tu faz isso, substituindo o caminho ali pelo caminho e nome da imagem que tu quer:
Bmp := TBitmap.Create;
Bmp.LoadFromFile('C:\Temp\Imagem1.bmp');
Imagelist1.Add(Bmp, nil);
Att,
Thiago Irrazabal de Oliveira.
Meu amigo Thiago, agora deu certo. Implementei o restante do código que me passas-te e realmente a imagem veio. Obrigado pela dica, fico extremamente agradecido.
att,
Inayerô
Gostei + 0
27/05/2014
Nelson Santos
www.3dsistemas.com.br
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)