Criar Menu via código ?
Tenho uma tabela com as descricoes dos menus que eu quero criar, peguei esse código aqui no forum, para criar menus dinamicamente, mais não estou conseguindo executalo-lo, alguém pode me dar uma maozinha ?
Olha meu código:
var
i: Integer
NovoItem : TMenuItem;
begin
ClientDataSet1.Open;
try
For I := 0 to ClientDataSet1.RecordCount - 1 do
begin
NovoItem := TMenuItem.Create(MainMenu1);
NovoItem.Caption := ClientDataSet1DESCRICAO_MENU.AsString;
MainMenu1.Items[1].Items[2].Insert(I,NovoItem);
end;
finally
NovoItem.Free;
end;
Obrigada gente !
Renata.
Olha meu código:
var
i: Integer
NovoItem : TMenuItem;
begin
ClientDataSet1.Open;
try
For I := 0 to ClientDataSet1.RecordCount - 1 do
begin
NovoItem := TMenuItem.Create(MainMenu1);
NovoItem.Caption := ClientDataSet1DESCRICAO_MENU.AsString;
MainMenu1.Items[1].Items[2].Insert(I,NovoItem);
end;
finally
NovoItem.Free;
end;
Obrigada gente !
Renata.
Renata Coimbra
Curtidas 0
Respostas
Paulo_amorim
14/07/2004
Olá
Que erro que dá?
Me parece normal...
Até+
Que erro que dá?
Me parece normal...
Até+
GOSTEI 0
Renata Coimbra
14/07/2004
O erro é: Menu Index out of range:
Renata
Renata
GOSTEI 0
Cabelo
14/07/2004
Renata..
Vc cria o mainmenu antes??
pois vc deve adicionar os Itens de menu a este mainmenu..
espero ter ajudado..
Cabelo
Vc cria o mainmenu antes??
pois vc deve adicionar os Itens de menu a este mainmenu..
espero ter ajudado..
Cabelo
GOSTEI 0
Paulo_amorim
14/07/2004
[quote:c212339d0a=´Renata Coimbra´]O erro é: Menu Index out of range:
Renata[/quote:c212339d0a]
O erro pode ser no [i:c212339d0a]Items[1].Items[2][/i:c212339d0a]... vc tem mesmo 1 nó e 2 nós, respectivamente?
Espero que ajude
Até+
Renata[/quote:c212339d0a]
O erro pode ser no [i:c212339d0a]Items[1].Items[2][/i:c212339d0a]... vc tem mesmo 1 nó e 2 nós, respectivamente?
Espero que ajude
Até+
GOSTEI 0
Renata Coimbra
14/07/2004
Obrigada cabelo_uni !
Olhá só, eu tenho no meu MainMenu só a opção [Cadastros]
que é MainMenu1.Items[0]
estou tentando criar todas as opcoes de do menu cadastro assim:
var
i: Integer;
NovoItem : TMenuItem;
begin
ClientDataSet1.Open;
i := 0;
try
While not ClientDataSet1.Eof do
begin
Inc(i);
NovoItem := TMenuItem.Create(MainMenu1);
NovoItem.Caption := ClientDataSet1DESCRICAO_MENU.AsString;
MainMenu1.Items[0].Items[0].Insert(I,NovoItem);
{0 SERIA A PRIMEIRA OPCAO DO MENU Cadastro}
ClientDataSet1.Next;
end;
finally
NovoItem.Free;
end;
mais tá dando o erro que coloquei acima.
[]´s
Renata.
Olhá só, eu tenho no meu MainMenu só a opção [Cadastros]
que é MainMenu1.Items[0]
estou tentando criar todas as opcoes de do menu cadastro assim:
var
i: Integer;
NovoItem : TMenuItem;
begin
ClientDataSet1.Open;
i := 0;
try
While not ClientDataSet1.Eof do
begin
Inc(i);
NovoItem := TMenuItem.Create(MainMenu1);
NovoItem.Caption := ClientDataSet1DESCRICAO_MENU.AsString;
MainMenu1.Items[0].Items[0].Insert(I,NovoItem);
{0 SERIA A PRIMEIRA OPCAO DO MENU Cadastro}
ClientDataSet1.Next;
end;
finally
NovoItem.Free;
end;
mais tá dando o erro que coloquei acima.
[]´s
Renata.
GOSTEI 0
Renata Coimbra
14/07/2004
Obrigada Paulo_Amorim !
eu coloquei o código acima que estou usando, eu tenho só um nó, que a opção cadastro [0].
[]´s
Renata.
eu coloquei o código acima que estou usando, eu tenho só um nó, que a opção cadastro [0].
[]´s
Renata.
GOSTEI 0
Cabelo
14/07/2004
Renata, eu faço assim :
s_menu_RE := TMainMenu.Create(self);
s_menu_RE.Name := ´memRE´;
P_Cria_Items_Menu(s_menu_RE);
s_form_RE.InsertComponent(s_menu_RE);
procedure TRELATORIO.P_Cria_Items_Menu(l_menu : TMenu);
begin
if l_menu = s_menu_RE then
begin
s_menu_item_RE10000 := TMenuItem.Create(self);
with s_menu_item_RE10000 do
begin
Name := ´RE10000´;
Caption := ´Cadastros´;
end;
l_menu.Items.Add(s_menu_item_RE10000);
with s_menu_item_RE10000 do
begin
s_menu_item_RE11000 := TMenuItem.Create(self);
with s_menu_item_RE11000 do
begin
Name := ´RE11000´;
Caption := ´Cadastro 1´;
OnClick := P_RE11000Click;
end;
Add(s_menu_item_RE11000);
s_menu_item_RELINHA12000 := TMenuItem.Create(self);
with s_menu_item_RELINHA12000 do
begin
Name := ´RELINHA12000´;
Caption := ´-´;
end;
Add(s_menu_item_RELINHA12000);
s_menu_item_RE12000 := TMenuItem.Create(self);
with s_menu_item_RE12000 do
begin
Name := ´RE12000´;
Caption := ´Cadastro 2´;
OnClick := P_RE12000Click;
end;
end;
espero que ajude..
Cabelo
s_menu_RE := TMainMenu.Create(self);
s_menu_RE.Name := ´memRE´;
P_Cria_Items_Menu(s_menu_RE);
s_form_RE.InsertComponent(s_menu_RE);
procedure TRELATORIO.P_Cria_Items_Menu(l_menu : TMenu);
begin
if l_menu = s_menu_RE then
begin
s_menu_item_RE10000 := TMenuItem.Create(self);
with s_menu_item_RE10000 do
begin
Name := ´RE10000´;
Caption := ´Cadastros´;
end;
l_menu.Items.Add(s_menu_item_RE10000);
with s_menu_item_RE10000 do
begin
s_menu_item_RE11000 := TMenuItem.Create(self);
with s_menu_item_RE11000 do
begin
Name := ´RE11000´;
Caption := ´Cadastro 1´;
OnClick := P_RE11000Click;
end;
Add(s_menu_item_RE11000);
s_menu_item_RELINHA12000 := TMenuItem.Create(self);
with s_menu_item_RELINHA12000 do
begin
Name := ´RELINHA12000´;
Caption := ´-´;
end;
Add(s_menu_item_RELINHA12000);
s_menu_item_RE12000 := TMenuItem.Create(self);
with s_menu_item_RE12000 do
begin
Name := ´RE12000´;
Caption := ´Cadastro 2´;
OnClick := P_RE12000Click;
end;
end;
espero que ajude..
Cabelo
GOSTEI 0
Renata Coimbra
14/07/2004
Conseguir pessoal !
Obrigada a todos
[]´s
Renata Coimbra.
Obrigada a todos
[]´s
Renata Coimbra.
GOSTEI 0
Paulo_amorim
14/07/2004
[quote:67cc4d4aca=´Renata Coimbra´]Conseguir pessoal !
Obrigada a todos
[]´s
Renata Coimbra.[/quote:67cc4d4aca]
Olá
QUal era o erro?
Até+
Obrigada a todos
[]´s
Renata Coimbra.[/quote:67cc4d4aca]
Olá
QUal era o erro?
Até+
GOSTEI 0