Einzelnen Beitrag anzeigen

itashadow

Registriert seit: 22. Apr 2008
Ort: Hattingen
86 Beiträge
 
#1

dragacceptfiles verwirrt mich...

  Alt 1. Jul 2008, 12:58
Hi

hab da ein kleines Problem.

Hab einen virtualstringtree auf einem tabsheet
und möchte per drag&drop dateien aus dem explorer hinzufügen.

klappt auch super...
nur mit dem dragacceptfiles hab ich da ein problem...
da dass mit subclassing usw bei mir aus irgendwelchen gründen nicht funktioniert habe ich folgendes gemacht:

tree = virtualstringtree:
Delphi-Quellcode:
procedure TForm10.treeDragOver(Sender: TBaseVirtualTree; Source: TObject;
  Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode;
  var Effect: Integer; var Accept: Boolean);
begin
  mausmovepoint.x := pt.x;
  mausmovepoint.y := pt.y;
end;
und dann einen timer mit dem intervall = 1

Delphi-Quellcode:
procedure TForm10.dragdroptimerTimer(Sender: TObject);
begin
  statusbar1.Panels.items[0].Text := inttostr(mausmovepoint.x) + ' '+ inttostr(mausmovepoint.Y);
  if (mausmovepoint.X > 0) and (mausmovepoint.Y > 0) then
  begin
    dragacceptfiles(form10.handle, true);
  end else begin
    dragacceptfiles(form10.Handle, false);
  end;
end;
klappt auch bestens...
wenn ich mit nem drag auf den tree gehe wird es erlaubt...
gehe ich vom tree runter wird es verboten
also noch alles bestens
gehe ich allerdings dann auf eine andere komponente ist es wieder erlaubt...

tree(erlaubt) wechsel zu tabscheet(verboten) wechsel zu panel(erlaubt) danach bleibt es erlaubt bis ich wieder auf dem tree war...
bzw
tree(erlaubt) wechsel zu panel(verboten) wechsel zu tabsheet(erlaubt) danach bleibt es erlaubt bis ich wieder auf dem tree war...


btw der timer ist der einzige ort wo dragacceptfiles auf true gesetzt wird...


kann mir da jemand weiterhelfen?
  Mit Zitat antworten Zitat