Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Deag Drop, Mit TImage ToolBarbutton löschen (https://www.delphipraxis.net/152866-deag-drop-mit-timage-toolbarbutton-loeschen.html)

waldforest 9. Jul 2010 20:33

Deag Drop, Mit TImage ToolBarbutton löschen
 
Hallo,
ich experimentiere erstmalig mit Drag and Drop.

Ich würde gerne eine Art Papierkorb proggen.
Mit einem TImage möchte ich per dragDrop das Image auf einen Button im TToolbar ziehen, der dann gelöscht wird.

Habe hier im Forum etwas ähnliches gefunden, bringt mich aber nicht wirklich weiter


TImageEreignisse
OnDragDrop
Delphi-Quellcode:
procedure TMainForm.imgDeleteDragDrop(Sender, Source: TObject;
                                      X, Y: Integer);
var
  Src, Dst : Integer;
begin
  // Find the source index in the toolbar
  Src := 0;
  while tbrQuickBar.Buttons[Src] <> Source do Inc(Src);
  // The destination is the last button
  Dst := tbrQuickBar.ButtonCount - 1;
  // Place the button to be deleted in the last position
  ShiftButtons(tbrQuickBar, Src, Dst);
  // Free the last button
  with tbrQuickBar.Buttons[Dst] do begin
    StrDispose(PChar(Tag));
    Free;
  end;
end;

procedure TMainForm.imgDeleteDragOver(Sender, Source: TObject;
                                      X, Y: Integer;
                                      State: TDragState;
                                      var Accept: Boolean);
begin
  Accept := (Source is TToolButton);
end;;
Aber irgendwie bekomme ich das Image nicht auf die Toolbar, sprich es passiert nichts.

Wie erhalte ich den Index des TToolButtons, auf den mein Image gedropt wurde ?

Was mach ich da falsch, kann mir jemand einen Tipp geben ?

waldforest 10. Jul 2010 09:04

AW: Deag Drop, Mit TImage ToolBarbutton löschen
 
Hallo
ich bin einen Schritt weiter gekommen.
Die Ursache lag darin, dass Dragmode auf dmmanual gesetzt war.

Wenn ich aber Dragmode nun auf dmAutomatic setze, wird linksClick nicht mehr akzeptiert.

Was mache ich hier falsch ??
wie kann ich hier abhilfe schaffen ?

himitsu 10. Jul 2010 10:24

AW: Deag Drop, Mit TImage ToolBarbutton löschen
 
Linksklick = Drag-Start, im Automatik-Mod :zwinker:

Also Manuell und dann selber via OnDrag und Co. verarbeiten

mkinzler 10. Jul 2010 10:39

AW: Deag Drop, Mit TImage ToolBarbutton löschen
 
Zitat:

im Automatik-Mod
Werden wir jetzt wegrationalisiert :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 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