AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Multiform Anwendung Drag Drop

Ein Thema von needatip · begonnen am 13. Nov 2017 · letzter Beitrag vom 13. Nov 2017
Antwort Antwort
needatip

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

Multiform Anwendung Drag Drop

  Alt 13. Nov 2017, 17: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
Benutzerbild von blawen
blawen
Online

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
677 Beiträge
 
Delphi 12 Athens
 
#2

AW: Multiform Anwendung Drag Drop

  Alt 13. Nov 2017, 18:25
Hallo

Persönlich nutze ich die Funktionen aus der Winapi.ShellAPI und nicht die jvDragDrop Komponente.
In meinem Falle hatte ich eine ähnliche Situation, sprich mit nur einer Form funktioniert das ganze einwandfrei und nach dem hinzufügend von weiteren Formularen, schien das ganze nicht mehr zu funktionieren. Schlussendlich habe ich herausgefunden, dass die AppMessage vom falschen (dem zuletzt erstellten) Formular ausgewertet wurde.

In meinem Fall erzeuge ich das benötigte Formular erst, wenn ich es effektiv benötige und gebe es danach auch gleich wieder frei.

Gruss
Blawen
Roland
  Mit Zitat antworten Zitat
needatip

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

AW: Multiform Anwendung Drag Drop

  Alt 13. Nov 2017, 20:16
Danke,
ich denke daß dann beim Containerpanel was eingestellt gehört bwz. daß die DragDrop funktion was durchreichen muss.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz