Fórum Trabalhando com componentes criados em tempo de execução #215997
22/02/2004
0
Criei um programa que faz o seguinte:
1. O usuário cadastra empresas em uma simples ListBox
2. Quando fecha o form, um loop transfere os nomes das empresas para um menu Popup, ou seja, adiciona os itens ao menu.
3. Quando o usuário clicar em um desses itens, no menu, quero que a procedure leia o caption do menu clicado para transferí-lo para outro form.
Infelizmente não sei como executar o passo 3, já que não se trata de um número fixo de itens criados em tempo de projeto, e sim de um nº variável de itens criados em tempo de execução. Como faço isso?
Grato.
Mathac_admin
Curtir tópico
+ 0Posts
22/02/2004
Ilopaiz
ilopaiz@bol.com.br
Gostei + 0
22/02/2004
Marco Salles
Isto Eu Entendi, e Acredito Que Dá Para Concluir :P
Mas Estes Forms Que Voce Citou :?: Qual Seria a Relação Com O Caption
Destes Items De Menu Criados Dinamicamente :?:
Se For Digitado Dez Empresas, Voce Pretende Criar Dez Forms Diferents
Caso os Captions Das Dez Empresas Forem Diferentes :?:
Na Verdade Meu Amigo, a Minha Dúvida Para TENTAR lhe Fornecer Minha Opinião é a Respeito Da Criação Ou Correlação Deste Forms Com Os Captions Do Menu Criados Dinamicamente...Se Voce Dizer (Postar) Para Mim Que Esta Etapa é Com Voce, Eu Mando Bala...Desde Que Voce Não Seje Atendido Primeiro e Claro...
Gostei + 0
23/02/2004
Marco Salles
Tópico , Porque Outras Pessoas Poderão Participar, Corrijir,Opinar,Acrescentar,Etc...
mathac_admin, O Que Vou Lhe Passar Dependerá De Alguns Ajustes Tecnicos, Que Com Certeza Facilmente Serão Solucionados Por Voce:
1) Voce Deve Criar Um Um Procedimente Para Evitar Duplicidade Na Lista 2) Deve Também Criar Um Procedimento Para Que Somente Novas Empresas Sejam Adicionadas Aos Novos Items De Menu 3) Por Fim Fazer Um Processo De Exclusão Caso o Usuário Exclua Uma Empresa Da Lista
Estas Situações Podem Ou Não Desempenhar Papel Importâncai No Seu Programa, Vai Depender Do Que Voce Quer De Fato... No Exemplo Que Estou Lhe Enviando, Não Estou Considerando Tais Fatos...
1) Crie a Nivel De Projeto(Este Passo Também Pode Ser Feito a Nível De Execução) Um Item De Menu Com Caption Definido Por "Empresas" e Consequentemente Sua Propriedade Name Será : "Empresas1".... 2) Na Secção Private Do Formulário Defina Um Procedure Onde Voce Vai Conhecer o Caption Selecionado: Secção Private Do Form Onde Se Encontra o Componente MainMenu: procedure CaptionEmpresa(Sender: TObject); 3) Aperte <Control+Shift+C> Simultaneamente Para Acionar o Class Completion, Para Incluir Um Manipulador De Eventos No Seu Aplicativo... Ou Faça Isto Manualmente procedure TForm1.SizeItemClick(Sender: TObject); begin ShowMessage(TMenuItem(Sender).Caption); TMenuItem(Sender).Checked := True;//Opção Para Marcar a //Empresa "Clicada" end; Obs:Observe Que Voce Não Vai Fazer Nada Com Esta Mensagem, So Coloquei Esta Instrução Para Voce Ter Uma Idéia De Como Pode Aproveitar e Tirar O Caption Que Voce Quer Da Empresa Selecionada Pelo Click Do Botão 4)Agora Por Fim as Instruções Que Irão Criar Dinamicamente Em Tempo De Execução Os Item De Menu.... Adicione No Evento Que Lhe For Conveniente as Instruçõe Abaixo Var i:Integer; Item: TMenuItem; begin i:=0; while I <= (ListBox1.Items.Count-1) do begin //cria os novos items Item := TMenuItem.Create (Self); //Adiciona Uma Empreas Ao Caption Do Item Do Menu Item.Caption :=ListBox1.Items[i]; //Definindo Assim Fica Fácil Fazer Referência Item.ComponentIndex:=I; //Marca a Empresa Clicada..InsTrucoes Opcional Item.GroupIndex := 1; Item.RadioItem := True; //Insere o Evento Clic Item.OnClick := SizeItemClick; Empresas1.Insert (Empresas1.Count, Item); I := I + 1; end;
Eu Acho Que Isto Dá Para Voce Começar, Os Problemas Aparecerão Mas
Os Amigos Sempre Estarão Por Perto
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)