AGB  ·  Datenschutz  ·  Impressum  







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

DragDrop im Treeview - wo bin ich?

Ein Thema von fillibuster · begonnen am 25. Nov 2011 · letzter Beitrag vom 8. Dez 2011
Antwort Antwort
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#1

DragDrop im Treeview - wo bin ich?

  Alt 25. Nov 2011, 14:02
Hallo,

ich verschiebe Items per DragDrop in einem Treeview. Ist es möglich zu visualisieren, wo ich mit dem Item gerade bin (Linie/Hintergrund des darunterliegenden Items ändern ...)? In welchem Event?

Dnake ...
  Mit Zitat antworten Zitat
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#2

AW: DragDrop im Treeview - wo bin ich?

  Alt 7. Dez 2011, 13:08
Putsch
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: DragDrop im Treeview - wo bin ich?

  Alt 7. Dez 2011, 13:58
Irgendetwas in der Art ...
Delphi-Quellcode:
procedure TForm2.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
begin
  if Assigned(TreeView1.DropTarget) then TreeView1.DropTarget.Focused := true;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#4

AW: DragDrop im Treeview - wo bin ich?

  Alt 8. Dez 2011, 08:37
Hi,

da passiert leider nichts. Habe es jetzt einmal so getestet, aber da geht auch nichts:
Delphi-Quellcode:
procedure Tmain.assignmentsTreeDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
var
  tnode : TTreenode;
begin
  if Assigned(assignmentsTree.DropTarget) then
  begin
    tnode := assignmentsTree.GetNodeAt(X,Y);
    tnode.Focused := true;
  end;
  Accept := ((Source = articles.articleList) or (Source = assignmentsTree));
end;
Viele Grüße ...
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: DragDrop im Treeview - wo bin ich?

  Alt 8. Dez 2011, 10:02
Dann habe ich Dich falsch verstanden, oder wir machen es unterschiedlich ....
Ich habe mal Source und "Echse" angehängt
Angehängte Dateien
Dateityp: zip Tree.zip (548,3 KB, 8x aufgerufen)
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#6

AW: DragDrop im Treeview - wo bin ich?

  Alt 8. Dez 2011, 10:34
Hallo,

erst einmal vielen Dank für deine Mühe. Ich verwende einen HTMLTreeview von TMS. Dieser ist aber vom Treeview abgeleitet. Dann muss der Fehler wohl in der Komponente liegen

Viele Grüße ...
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: DragDrop im Treeview - wo bin ich?

  Alt 8. Dez 2011, 11:01
ich habe sogar noch eine VM wo der Kram installiert ist, man kann etwas damit hinmogeln, ob Du es so machen willst überlasse ich Dir ....

Delphi-Quellcode:
var
FDragNode:TTreeNode;//gehört in die Klasse oder zumindest initial genilt

procedure TForm2.Treeview1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
   if Assigned(FDragNode) then
      begin
       FDragNode.MoveTo(TreeView1.DropTarget,naAddChild);
       FDragNode := nil;
      end;
end;

procedure TForm2.Treeview1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if Assigned(TreeView1.DropTarget) then
    begin
    TreeView1.DropTarget.Selected := true;
    end;
end;

procedure TForm2.Treeview1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   Treeview1.BeginDrag(false);
   FDragNode := TreeView1.Selected;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  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 16:57 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