AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

D5: TTreeView ignoriert Zuweisung DragCursor?

Ein Thema von Codehunter · begonnen am 5. Jun 2008 · letzter Beitrag vom 6. Jun 2008
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
1.868 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

D5: TTreeView ignoriert Zuweisung DragCursor?

  Alt 5. Jun 2008, 09:05
Ich bin gerade darauf gestoßen daß TTreeView in D5 anscheinend die Eigenschaft DragCursor komplett ignoriert und immer crDrag setzt. Nur warum ist mir nicht so ganz klar. Eigentlich wollte ich zur Laufzeit in Abhängigkeit der Anzahl gezogener Objekte über das Event OnDragOver abwechselnd crDrag oder crMultiDrag verwenden. Es erscheint aber immer der Cursor crDrag, egal was ich zuweise. Woran liegt das? Wenn ich in OnDragOver Accepted auf false setze dann wechselt der DragCursor zu crNo, also insofern funktioniert es schon. Es macht aber keinen Unterschied ob ich DragCursor in der IDE oder zur Laufzeit ändere und auch egal zu welchem Cursor, es wird immer crDrag verwendet.
  Mit Zitat antworten Zitat
michaelg

Registriert seit: 20. Apr 2008
39 Beiträge
 
#2

Re: D5: TTreeView ignoriert Zuweisung DragCursor?

  Alt 6. Jun 2008, 03:14
Wenn Du den "globalen" DragCursor benutzt, gehts nicht, aber wenn Du den Sender (in diesem Fall direkt l1:tListbox) nimmst, dann klappts.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    l1: TListBox;
    l2: TListBox;
    procedure l2DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure l1StartDrag(Sender: TObject; var DragObject: TDragObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.l2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
  begin
    Accept:=True;
  end;

procedure TForm1.l1StartDrag(Sender: TObject; var DragObject: TDragObject);
  begin
    //l1 ist eine tListbox mit Multiselect:=True
    if l1.SelCount>1 then l1.DragCursor:=crMultiDrag //<<<<<<<<< HIER!
                     else l1.DragCursor:=crDrag;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
1.868 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: D5: TTreeView ignoriert Zuweisung DragCursor?

  Alt 6. Jun 2008, 07:00
Achsoooooo das muss man bei der Drag-Quelle setzen und nicht beim Drag-Ziel. Da muss man auch erstmal drauf kommen denn erscheinen tut der Cursor ja über dem Ziel. Ok danke dir so gehts.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf