AGB  ·  Datenschutz  ·  Impressum  







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

Drag & Drop über Frames

Ein Thema von GreenHorn3600 · begonnen am 18. Jan 2008 · letzter Beitrag vom 19. Jan 2008
Antwort Antwort
GreenHorn3600

Registriert seit: 24. Jun 2007
165 Beiträge
 
#1

Drag & Drop über Frames

  Alt 18. Jan 2008, 18:23
Hallo zussammen,

wie kann ich ein drag & drop realisieren, von einer listbox in einem frame auf ein ttreeview in einem formular?

wenn ich onOverDrag abfage, kennt er die listbox nicht...

danke für euere hilfe ...
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Drag & Drop über Frames

  Alt 18. Jan 2008, 20:33
wo fragste du denn onOverDrag ab?
  Mit Zitat antworten Zitat
GreenHorn3600

Registriert seit: 24. Jun 2007
165 Beiträge
 
#3

Re: Drag & Drop über Frames

  Alt 18. Jan 2008, 23:23
@Marcus Hassmann, tja, im formular, im tTreeView, wo das Item hingezogen werden soll ... nur die Listbox, liegt halt in einem Frame.. und dort soll sie auch bleiben.. wird noch an etlichen anderen stellen verwendet...
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Drag & Drop über Frames

  Alt 18. Jan 2008, 23:31
Das sollte kein Problem sein...

Delphi-Quellcode:
procedure TFrame.TreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  accept:=(Source is TListBox);
end;

procedure TFrame.TreeViewDragDrop(Sender, Source: TObject; X, Y: Integer);
var ListBox:TListBox;
begin
  if Source is TListBox then begin
    ListBox:=TListBox(Source);
    showmessage(ListBox.Name);
  end;
end;
Gruss
Thorsten
  Mit Zitat antworten Zitat
GreenHorn3600

Registriert seit: 24. Jun 2007
165 Beiträge
 
#5

Re: Drag & Drop über Frames

  Alt 18. Jan 2008, 23:37
Zitat von omata:
Das sollte kein Problem sein...

Delphi-Quellcode:
procedure form1.TreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  accept:=(Source is TListBox);
end;

procedure form1.TreeViewDragDrop(Sender, Source: TObject; X, Y: Integer);
var ListBox:TListBox;
begin
  if Source is TListBox then begin
    ListBox:=TListBox(Source);
    showmessage(ListBox.Name);
  end;
end;
Gruss
Thorsten
das sagst du ...

nur hier:
Delphi-Quellcode:
procedure form1.TreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  accept:=(Source is TListBox); // <-- hier
end;
kommt leider nie true an

die listbox liegt in frame, nicht das tTreeView...
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Drag & Drop über Frames

  Alt 18. Jan 2008, 23:52
Wo die Elemente liegen ist dabei völlig egal.

Wird das Ereignis überhaupt ausgelöst? Hast du den DragMode auf Automatic gestellt?

Edit: ich habe mal ein Beispiel angehängt.
Angehängte Dateien
Dateityp: zip frames_180.zip (1,9 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
GreenHorn3600

Registriert seit: 24. Jun 2007
165 Beiträge
 
#7

Re: Drag & Drop über Frames

  Alt 19. Jan 2008, 00:01
Zitat von omata:
Wo die Elemente liegen ist dabei völlig egal.

Wird das Ereignis überhaupt ausgelöst? Hast du den DragMode auf Automatic gestellt?
scheint nicht so zu sein, dass es egal ist. ja das event wird gefeuert.. aber manuell.. und im debugger wird es dann auch abgefragt. aber da kann ich setzen was ich will ob sender oder source, es wird kein tListbox erkannt.. obgleich diese den DragMode überhaupt auslöst... kann mir nur vorstellen, dass es daran liegt, dass die listbox in 'ner FRAME ist und das empfangende objekt (tTreeView) in einer Form, auf dem das Frame eingebettet ist...
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Drag & Drop über Frames

  Alt 19. Jan 2008, 07:20
Dann lass dir doch mal zum Test den Namen des Objektes anzeigen.
Delphi-Quellcode:
procedure form1.TreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  ShowMessage(Source.ClassName);
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
GreenHorn3600

Registriert seit: 24. Jun 2007
165 Beiträge
 
#9

Re: Drag & Drop über Frames

  Alt 19. Jan 2008, 07:30
Zitat von bitsetter:
Dann lass dir doch mal zum Test den Namen des Objektes anzeigen.
Delphi-Quellcode:
procedure form1.TreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  ShowMessage(Source.ClassName);
end;
dank für den tipp. jetzt ist es klar, als klassenname wird der frame verwendet, nicht die listbox... dank und gruss Greeny
  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 09:27 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