Einzelnen Beitrag anzeigen

needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Wie auf Komponenten und Ereignisse im eigebettenten Formular zugreifen?

  Alt 27. Jan 2018, 08:41
Das ganze hat folgenden Hintergrund. Ich habe auf meinem MainForm einen VirtualStringTree als
Navigationskomponente für die einzelnen Formulare die halt in ein Panel(Containerpanel) geladen werden.

Delphi-Quellcode:
procedure TfmMain.VSTClick(Sender: TObject);
var
  NewFormClass: TFormClass;
  NewForm: TForm;
  NodeData: PTreeData;
  Node: PVirtualNode;
begin
  Node := VST.FocusedNode;
  if not Assigned(Node) then
    Exit;
  NodeData := VST.GetNodeData(Node);

  case NodeData.FormIndex of
    0:
      NewFormClass := TfmForm1;
    1:
      NewFormClass := TfmForm2;
    2:
      NewFormClass := TfmForm3;
    3:
      NewFormClass := TfmForm4;
 ...

  else
    NewFormClass := nil;
  end;
  begin
    if ContainerPanel.ControlCount > 0 then
      ContainerPanel.Controls[0].Free;

    if Assigned(NewFormClass) then
    begin
      NewForm := NewFormClass.Create(Self);
      NewForm.Hide;
      NewForm.BorderStyle := bsNone;
      NewForm.Parent := ContainerPanel;
      NewForm.Align := alClient;
      NewForm.Show;
    end;
  end;
end;
Wenn ich nun in einem Formular das im Containerpanel geladen wird ein weiteres Formular bzw Dialog aufrufe (mit FormX.Show)
dann kann ich nicht auf die Komponenten/Proceduren etc. auf dem Formular zugreifen.
  Mit Zitat antworten Zitat