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?