Fórum como capturar o caption do componente TMenuItem?? #373471
13/08/2009
0
Como que eu capturo o caption do componente TMenuItem e jogo numa variavel que sera o titulo do relatorio?

Fausto.malheiros
Curtir tópico
+ 0Posts
13/08/2009
Osocram
vc iria o objeto TMenuItem > Caption e pegaria o texto certo?
em Tempo de execução vc pode pegar isso no Onclick.. pois estará passando o sender
TMenuItem(sender).caption;
Gostei + 0
13/08/2009
Fausto.malheiros
[u:889c6ad84c]FrmPrincipal.MainMenu1.Items.Caption[/u:889c6ad84c] / não da erro de compilação, mas tbem não traz nada.
meu codigo esta assim:
//primeiro pego o caption do item do menu e jogo no caption do //formulario apenas para garantir o mesmo nome(AQUI TA O ERRO)
FrmMntCritica.Caption := FrmPrincipal.MainMenu1.Items.Caption;
//e dentro do relatorio, report builder, o componente variable ja esta pegando automaticamente o caption do formulario e jogando no titulo
ppReport1.PrinterSetup.DocumentName:= Caption;
ppReport1.Print;
Gostei + 0
13/08/2009
Osocram
o problema pode ser a maneira que vc usou ae....
posta o metodo onde vc esta chamando isso... Para ver se é no click do menu item ou aonde é q vc esta chamando.
Gostei + 0
13/08/2009
Fausto.malheiros
ele da erro é la no formulario de relatorio. Dou o comando antes de chamar o report builder...bem ali que ele da erro.
Gostei + 0
13/08/2009
Osocram
pq No OnClick do menu q o sender vai ser o menuItem... se outro lugar o sender vai ser outro.
Gostei + 0
13/08/2009
Fausto.malheiros
Mas só uma coisa..fiquei curioso :D O Sender no onclick do menu funciona...mas como fazer ele chegar até o form do relatorio. Variavel pública?
Gostei + 0
14/08/2009
Osocram
1 2 | palavra := TMEnuItem(sender).caption; palavra := stringReplace(palavra,´&´,´´,[]) |
se vc fazer isso aqui p chamar o o seu form de relatorio
1 2 3 4 5 6 7 | FormRel := TformRel.Create(nil); try FormRel.Titulo := palavra; finally formRel.release; formRel := nil; end; |
é so declarar uma variavel no formRel, na parte Public.
dae la vc pode usar a variável do jeito que quiser ou jogar direto p o caption deste form tbm.
Gostei + 0
14/08/2009
Fausto.malheiros
Vlw osocram...Brigadão!
Abraços
Gostei + 0
21/08/2009
Fausto.malheiros
Gostei + 0
21/08/2009
Fausto.malheiros
Creio que o problema esta na forma que o menu chama os programas:
Eu não stou sabendo colocar os parametros nessa creatform onde é feito a pesquisa pela classe
Gostei + 0
21/08/2009
Osocram
Creio que o problema esta na forma que o menu chama os programas:
Eu não stou sabendo colocar os parametros nessa creatform onde é feito a pesquisa pela classe[/quote:3ead856712]
Gostei + 0
21/08/2009
Fausto.malheiros
Que jeito mesmo?
Gostei + 0
21/08/2009
Fausto.malheiros
Ok. Vou verificar
Gostei + 0
21/08/2009
Osocram
1 | Application.CreateForm(TComponentClass(FindClass(NomeClasse)), Formulario); |
E antes do
1 | Formulario.ShowModal; |
Quero dizer entre esses dois codigos vc tem q passar o valor p a variavel que vc criou nos formularios Rel.
--------------------
ou la no seu formRel no evento OnShow vc verifica se a variavel Titulo do form Principal for diferente de ´´ dae vc pega ele e joga no caption
Nesse caso lembre-se de sempre passar Titulo:=´´ depois de liberar o form, para não ficar lixo.
Gostei + 0
21/08/2009
Fausto.malheiros
A variavel titulo esta declarada no public do menu e no public do relatorio, mas continua não passando o parametro.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)