Chamar formulário
O q preciso é o seguinte:(não sei como fazer)
Imagine dois form ´A´ e ´B´, com um botao e um edit.
Imagine um terceiro form ´C´ com um botao.
Nos dois primeiros form ´A´ e ´B´, quando clicar o botao, vou chamar o terceiro form ´C´.
Já no terceiro form ´C´, quando clicar o botão, tenho que alterar o Edit.Text do Form que o chamou, pode ser o ´A´ ou o ´B´.
No evento OnClick do botao do Form ´C´ preciso algo parecido como:
A.Edit.Text:=´Teste 1´; ou
B.Edit.Text:=´Teste 1´;
O problema é q pode ser A ou B.
Não sei se fui claro, mas tentem me ajudar
Imagine dois form ´A´ e ´B´, com um botao e um edit.
Imagine um terceiro form ´C´ com um botao.
Nos dois primeiros form ´A´ e ´B´, quando clicar o botao, vou chamar o terceiro form ´C´.
Já no terceiro form ´C´, quando clicar o botão, tenho que alterar o Edit.Text do Form que o chamou, pode ser o ´A´ ou o ´B´.
No evento OnClick do botao do Form ´C´ preciso algo parecido como:
A.Edit.Text:=´Teste 1´; ou
B.Edit.Text:=´Teste 1´;
O problema é q pode ser A ou B.
Não sei se fui claro, mas tentem me ajudar
Pedro Dias
Curtidas 0
Respostas
Nigro
17/10/2003
Já que você não definiu exatamente o que sua aplicação faz, aqui vai um quebra-galho:
Coloque um label em C, como visible false, para não poluir o layout.
No caption desse label em C você coloca A ou B dentro do botão que está chamando o C
no botão do C coloque:
if label1.caption := ´A´ then A.Edit.Text:=´Teste 1´ else
B.Edit.Text:=´Teste 2´;
Ajudei?
Coloque um label em C, como visible false, para não poluir o layout.
No caption desse label em C você coloca A ou B dentro do botão que está chamando o C
no botão do C coloque:
if label1.caption := ´A´ then A.Edit.Text:=´Teste 1´ else
B.Edit.Text:=´Teste 2´;
Ajudei?
GOSTEI 0
Pedro Dias
17/10/2003
O q vc mandou, realmente funciona, é q eu não quis complicar.
Mas meu form ´C´, é para dar opção de gráfico para o usuário. Este form existe várias procedure de configuração. Veja Uma:
procedure TFOpcGraf.OpcValorClick(Sender: TObject);
var
i:Integer;
begin
Case OpcValor.ItemIndex of
0:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsValue;
1:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsPercent;
2:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabel;
3:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabelPercent;
4:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabelValue;
5:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsPercentTotal;
6:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabelPercentTotal;
end;
end;
O componente C1 (TChart), existem em outros form inclusive neste ´FConsSem´.
Um então os form q me referi ´A´ ou ´B´ são ´FConsSem´ e ´FConMes´.
Deu para entender
Tentei usar algo parecido com (sender as TForm).C1....
Mas dá pau
Mas meu form ´C´, é para dar opção de gráfico para o usuário. Este form existe várias procedure de configuração. Veja Uma:
procedure TFOpcGraf.OpcValorClick(Sender: TObject);
var
i:Integer;
begin
Case OpcValor.ItemIndex of
0:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsValue;
1:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsPercent;
2:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabel;
3:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabelPercent;
4:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabelValue;
5:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsPercentTotal;
6:FConsSem.C1.Series[NumGrafAtivo].Marks.Style:=smsLabelPercentTotal;
end;
end;
O componente C1 (TChart), existem em outros form inclusive neste ´FConsSem´.
Um então os form q me referi ´A´ ou ´B´ são ´FConsSem´ e ´FConMes´.
Deu para entender
Tentei usar algo parecido com (sender as TForm).C1....
Mas dá pau
GOSTEI 0
Osocram
17/10/2003
bom...
tente fazer algo assim...
Se o form A chamar o Form C vc altera o FormC.tag=1
se for B entaum FormC.tag=2
(declare uma variavel global no FormC
FormAux : Tform
dae no OnShow do FormC vc faz um
case FormC.tag do
1: FormAux := FormA
2: FormAux := FormB
end;
Ae.. em vez d vc chamar os FConsSem vc usa apenas FormAux.
tente fazer algo assim...
Se o form A chamar o Form C vc altera o FormC.tag=1
se for B entaum FormC.tag=2
(declare uma variavel global no FormC
FormAux : Tform
dae no OnShow do FormC vc faz um
case FormC.tag do
1: FormAux := FormA
2: FormAux := FormB
end;
Ae.. em vez d vc chamar os FConsSem vc usa apenas FormAux.
GOSTEI 0