Como poder acessar tabsheet/Form criado dinamicamente ?
olá pessoal
estou criando forms dentro de pagecontrol/tabsheets da seguinte forma:
no OnShow do form Frm550aF eu crio um outro form (Frm550bF) dinamicamente dentro de um panel nele contido :
Preciso saber como acessar tabelas e controles que estão nesses forms dentro dos tabsheets do pagecontrol, sabendo que: terei vários tabsheets, e dentro de cada um eu terei um form 550F e dentro deste o form 550aF.
eu tentei por exemplo fazer :
Frm550aF.TblCliente.Findkey([StrToInt(EdtCdCliente.Text)]);
mas não funcionou.
a estrutura de forms é a seguitne :
-Frm550F
---Frm550aF
------Frm550bF
obrigado
Diogo
estou criando forms dentro de pagecontrol/tabsheets da seguinte forma:
procedure TFrm550F.Button1Click(Sender: TObject); begin if Tab = nil then begin Tab := TTabSheet.Create(PgCtrlCliente); Tab.Caption := NmCliente; Tab.PageControl := PgCtrlCliente; with TFrm550aF.Create(Tab) do begin borderstyle := bsnone; align := alclient; parent := Tab; show; end; end; PgCtrlCliente.ActivePage := Tab; Tab := nil; end;
no OnShow do form Frm550aF eu crio um outro form (Frm550bF) dinamicamente dentro de um panel nele contido :
procedure TFrm550aF.FormShow(Sender: TObject); begin with TFrm550bF.Create(PnlPrincipal) do begin borderstyle := bsnone; align := alclient; parent := PnlPrincipal; show; end; end;
Preciso saber como acessar tabelas e controles que estão nesses forms dentro dos tabsheets do pagecontrol, sabendo que: terei vários tabsheets, e dentro de cada um eu terei um form 550F e dentro deste o form 550aF.
eu tentei por exemplo fazer :
Frm550aF.TblCliente.Findkey([StrToInt(EdtCdCliente.Text)]);
mas não funcionou.
a estrutura de forms é a seguitne :
-Frm550F
---Frm550aF
------Frm550bF
obrigado
Diogo
Diogoalles
Curtidas 0
Respostas
Ipc$
19/09/2005
Utilize a propriedade Components das TabSheets e dos Panels.
GOSTEI 0
Diogoalles
19/09/2005
Já tentei, mas não consegui.
Cada um dos Tabsheets será um cliente, então após criar o tabsheet com seus respectivos forms preciso acessar tabelas e componentes, sem afestar o outro tabsheet, aí não estou conseguindo distinguir qual estou acessando.
Eu gostaria que o tabsheet que está sendo criado tivesse uma identificação única, como por exemplo Cd_cliente. Só que aí mesmo assim precisarei saber como acessar os dados dos 2 forms embutidos nesse tabsheet.
Se tiver um exemplo ficaria grato.
obrigado
Diogo
Cada um dos Tabsheets será um cliente, então após criar o tabsheet com seus respectivos forms preciso acessar tabelas e componentes, sem afestar o outro tabsheet, aí não estou conseguindo distinguir qual estou acessando.
Eu gostaria que o tabsheet que está sendo criado tivesse uma identificação única, como por exemplo Cd_cliente. Só que aí mesmo assim precisarei saber como acessar os dados dos 2 forms embutidos nesse tabsheet.
Se tiver um exemplo ficaria grato.
obrigado
Diogo
GOSTEI 0
Diogoalles
19/09/2005
Bom dia pessoal,
Consegui acessar os forms eu dei um Nome para cada um na sua criação, acho q é a maneira correta ou não ?
Agora estou com outro probleminha:
Eu crio um tabsheet para cada cliente. Nesse tabsheet vai ter um form(frm550a). Nesse form eu tenho um outro tabsheet que já está no pageindex = 0, só que no Onchange do pagecontrol deste frm550a eu gostaria de criar outros forms conforme o pageindex com o seguinte código:
o problema é q se eu tiver no pagecontrolprincipal em outro cliente ao ir no onchange do seu form interno nesse evento onchange não será criado o frm554 para o cliente, pq ele já foi criado em outro form para outro cliente.
como faço então para poder criar o frm554 para cada cliente ?
obrigado
Diogo
Consegui acessar os forms eu dei um Nome para cada um na sua criação, acho q é a maneira correta ou não ?
Agora estou com outro probleminha:
Eu crio um tabsheet para cada cliente. Nesse tabsheet vai ter um form(frm550a). Nesse form eu tenho um outro tabsheet que já está no pageindex = 0, só que no Onchange do pagecontrol deste frm550a eu gostaria de criar outros forms conforme o pageindex com o seguinte código:
procedure TFrm550aF.PgCtrlProgsChange(Sender: TObject); begin if PgCtrlProgs.ActivePageIndex = 1 then begin if not assigned(frm554) then begin frm554 := TFrm554F.Create(frm550a); frm554.Parent := TsPacAlergias; frm554.show; end end; end;
o problema é q se eu tiver no pagecontrolprincipal em outro cliente ao ir no onchange do seu form interno nesse evento onchange não será criado o frm554 para o cliente, pq ele já foi criado em outro form para outro cliente.
como faço então para poder criar o frm554 para cada cliente ?
obrigado
Diogo
GOSTEI 0
Bmetric
19/09/2005
Sugiro que vc saia do computador e desenhe um mapa desse labirinto.
GOSTEI 0