Einzelnen Beitrag anzeigen

needatip

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

Multiform Anwendung Drag Drop

  Alt 13. Nov 2017, 16:56
Hallo,

ich arbeite mit der JVDragDrop Komponente von Jedi.
Ich möchte Dateien vom Windows Explorer in meine Anwendung ziehen.
Bei meiner bisherigen "normalen Formularanwendung" funktioniert das einwandfrei.
JvDragDrop Komponente auf das Formular, Eigenschaft AcceptDrag anhaken und DropTarget Komponente einstellen und schon akzeptiert die entsprechende Komponente die Dateien.

Meine neue Anwendung hat aber mehrere Formulare die alle auf einem Panel entsprechend geladen werden.
d.h.
Ich habe links auf meinem Hauptformular eine Navigationskomponente(JvNavigationPane) mit der ich die einzelnen Formulare dann rechts auf mein Panel(sog. Containerpanel) anzeige.

Delphi-Quellcode:
procedure TForm1.NavP1Change(Sender: TObject);
var
  NewFormClass: TFormClass;
  NewForm: TForm;
begin
  begin
    case NavP1.ActivePage.PageIndex of
      0:
        begin
          NewFormClass := TmyForm1;
          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;
      1:
        begin
          NewFormClass := TmyForm2;
          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 := alNone;
            NewForm.Show;
          end;
        end;
    end;
  end;
end;
Weil ich
Code:
NewForm.Parent := ContainerPanel;
zuweise, funktioniert die DragDrop Funktion nicht mehr.
Muss ich in dem Containerpanel noch irgendwas zuweisen bzw. woran liegt es?
  Mit Zitat antworten Zitat