Chamar formulário

Delphi

17/10/2003

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


Pedro Dias

Pedro Dias

Curtidas 0

Respostas

Nigro

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?


GOSTEI 0
Pedro Dias

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


GOSTEI 0
Osocram

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.


GOSTEI 0
POSTAR