Ele controla tambem os controles dentro do form. (buttons, Edit, action list, etc)
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Nazareno Neto Enviada em: quinta-feira, 22 de abril de 2010 14:36 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Duplicar FORM Outra boa opção tambem seia UserControl, agora um pouco diferente do que vc quer, ele controla apenas action list e menus. Em 22 de abril de 2010 14:03, Alexandre <alexandre.pedr...@gmail.com <mailto:alexandre.pedroto%40gmail.com> >escreveu: > Entendi o que vc quer fazer. > > Não sei se esta é a melhor estratégia, mas o que você precisa é percorrer > todos os campos do form e jogar numa tabela, e aí atribuir visibilidade, > entre outras propriedades como cores, fonte, etc. > > No oncreate ou onshow de cada form você chama a função passando o id do > usuário e o sistema irá ler na tabela os componentes e setar as > propriedades. Caso encontre componentes novos, ele adicionará na tabela > para > que possa ser configurado também. > > Quanto a configuração dos campos de telas em si, poderá haver um popup em > cada componente que abrirá uma janela com as configurações e a > possibilidade > de atualização. > > Por outro lado, existe um componente que já ouvi falar por aqui na lista, > que fazia exatamente isso, inclusive tratava a questão das tabelas e tudo > mais. Talvez alguém lembre e seja mais prático pra você usar o componente. > > Não posto códigos do FindComponent porque estou sem o Delphi aqui agora. > > Alexandre > > Em 22 de abril de 2010 08:56, Murilo Cunha <mcscu...@yahoo.com.br <mailto:mcscunha%40yahoo.com.br> > > escreveu: > > > > > > > Pessoal, > > > > Meu objetivo eh o seguinte: > > Tenho um form para definir direitos dos usuarios no meu sistema. > > Quando abre esta tela, vc define qual usuario e qual tela irah > > configurar os direitos. > > Suponhamos que vc quer definir os direito para a tela principal do > > sistema, entao, no lado direito da tela tem um grid que lista todos os > > nome dos botoes e opcoes de menu para vc definir se aquele usuario pode > > ou nao ver a opcao, pode acessar o botao adicionar, excluir.... > > > > Estou fazendo desta forma: > > > > var > > frm_Tela : TForm; > > begin > > case cbxTelas.ItemIndex of > > 0: begin > > if frmPrincipal = nil then > > frmPrincipal := TfrmPrincipal.Create(Application.MainForm); > > frm_Tela := frmPrincipal; > > if frm_Tela = nil then > > frm_Tela := frm_Tela.Create(Application.MainForm); > > end; > > 1: begin > > if frmPermissoesUsuarios = nil then > > frmPermissoesUsuarios := > > TfrmPermissoesUsuarios.Create(Self); > > frm_Tela := frmPermissoesUsuarios; > > end; > > end; > > > > ... > > <Vem o codigo para jogar os nomes dos componentes no grid> > > .. > > > > finally > > FreeAndNil(frm_Tela); // <-- Aqui ele destroi meu formulario > > principal, nao tem como eu continuar a trabalhar com o sistema!!! > > end; > > > > Obrigado. > > MuriloCunha > > > > > > On 20/04/2010 22:18, Alexandre wrote: > > > Desculpa a intromissão mais qual seria o objetivo disso? > > > E como você está fazendo a cópia agora? > > > Depois da sua resposta te digo o que vc deve fazer. > > > > > > > > > Em 20 de abril de 2010 13:46, Murilo Cunha<mcscu...@yahoo.com.br <mailto:mcscunha%40yahoo.com.br> > <mcscunha%40yahoo.com.br>> > > escreveu: > > > > > > > > >> > > >> Pessoal, > > >> > > >> Como eu posso duplicar um form? > > >> O que eu quero é criar o FORM_PRINCIPAL duas vezes. > > >> Nesta segunda vez eu crio a tela, MAS SEM EXIBI-LA, e pego todos os > > >> nomes de botoes que estao contidos nela. > > >> Depois, eu destruo esta copia e continuo usando o sistema. > > >> > > >> NO ENTANTO, quando destruo esta copia, o meu FORM_PRINCIPAL tb é > > >> destruido!!! > > >> > > >> Como criar uma COPIA INDEPENDENTE?? > > >> > > >> Obrigado. > > >> MuriloCunha > > >> > > >> > > >> > > >> > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > ------------------------------------ > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > -- Nazareno Neto #507685 Desenvolvedor Delphi e Firebird http://www.delphisistemas.com.br nazarenon...@delphisistemas.com.br <mailto:nazarenoneto%40delphisistemas.com.br> nazareno.nobr...@gmail.com <mailto:nazareno.nobrega%40gmail.com> [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]