Announcement

Collapse
No announcement yet.

Form2 in Panel von Form1

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Form2 in Panel von Form1

    hallo,<br><br>
    ich hab den Code mal im RedSys gesehen, leider finde ich ihn nicht mehr. Und zwar gehts darum, ein Formular direkt in ein Panel des Hauptformulars zu platzieren. Ich finde auch nirgendwo mehr dieses RedSys zum Downloaden (oder muss ich dafür angemeldet sein? ich probier das gleich nochmal...)<br><br>
    Kann mir da jemand weiterhelfen?<br><br>
    mfG,Marko Bischof

  • #2
    Hallo Marco,<BR><BR>
    das macht man mit der Eigenschaft parent des Formulares.<BR>
    Bsp:<BR>
    form.parent := mainform.panelContainer;<BR>
    es empfiehlt sich noch, Align auf alClient und Borderstyle auf bsNone zu setzen.<BR>
    Fran

    Comment


    • #3
      Hallo,

      &gt;..ich hab den Code mal im RedSys gesehen...

      dort wird das Einblenden einer Formularinstanz in ein Eltern-TPanel so umgesetzt (über den überladenen Constructor kann das Formular "normal" und eingebettet erzeugt werden):

      <pre>
      ...
      public
      { Public-Deklarationen }
      procedure CreateParams(var Params: TCreateParams); override;
      procedure Loaded; override;
      constructor Create(AOwner: TComponent); overload; override;
      constructor Create(AOwner: TComponent;
      AParent: TWinControl); reintroduce; overload;
      end;

      ...

      {----------------------------------------------------------------------}
      { Childformular-Implementierung }
      {----------------------------------------------------------------------}

      constructor TFormEditBeitrag.Create(AOwner: TComponent);
      begin
      FAsChild := False;
      inherited Create(AOwner);
      end;

      constructor TFormEditBeitrag.Create(AOwner: TComponent;
      AParent: TWinControl);
      begin
      FAsChild := True;
      FTempParent := aParent;
      inherited Create(AOwner);
      end;

      procedure TFormEditBeitrag.CreateParams(var Params: TCreateParams);
      begin
      inherited CreateParams(Params);
      if FAsChild then
      Params.Style := Params.Style or WS_CHILD;
      end;

      procedure TFormEditBeitrag.Loaded;
      begin
      inherited;
      if FAsChild then
      begin
      Align := alClient;
      BorderStyle := bsNone;
      BorderIcons := [];
      Parent := FTempParent;
      Position := poDefault;
      end;
      end;

      procedure TFormEditBeitrag.FormCreate(Sender: TObject);
      begin
      IsControl := True;
      FormMain.IsBeitragOpen := True;
      DM.DoOpenBeitrag;
      FAutorSL := TStringList.Create;
      end;

      procedure TFormEditBeitrag.FormDestroy(Sender: TObject);
      begin
      DM.DoCloseBeitrag;
      FormMain.IsBeitragOpen := False;
      FAutorSL.Free;
      end;

      procedure TFormEditBeitrag.FormClose(Sender: TObject;
      var Action: TCloseAction);
      begin
      if FAsChild then
      Action := caFree;
      end;
      </pre>

      &gt;..Ich finde auch nirgendwo mehr dieses RedSys zum Downloaden

      In der Tat überleben meine Uploads nicht lange (was schlecht ist, da ich die große ZIP-Datei aufgrund der Größenbeschränkung beim Upload in sehr viele Teile splitten muss). Nach der dritten "Repartur" habe ich es dann aufgegeben. Das RedSys-Projekt ist aber auf der Buch-CDROM meines IBX-Buchs

      Comment

      Working...
      X