Zitat von
Aike:
Ja, das hat gut funktioniert, aber jetzt wird's noch 'n bisschen komplizierter:
Das selbe soll jetzt auch funktionieren, wenn ich eine Datei auf die Listbox droppe. Da muss zwar kein PopUp kommen, sondern nur 'ne showmessage(), in WMDropFiles() kann ich leider deine Funktion nicht benutzen (hat zumindest bei mir nicht geklappt). Es muss eigentlich nur wieder auf das Item "geklickt" werden.
Ah, ich werd noch zum Hirsch. Weder OnDragOver, OnDropDown, noch OnEndDrop liefern mir was Anständiges.
Achso, du willst damit dann also später hinter diese Stelle einfügen?
Dafür musst du dne Code nur leicht modifizieren, denn bei Drag Over hast du X und Y, jedoch kein mrright, welches du auch garnicht brauchst
Delphi-Quellcode:
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
var
cursorpos : TPoint;
ndx : integer;
begin
cursorpos.X := X;
cursorpos.Y := y;
ndx := ListBox1.ItemAtPos(cursorpos,true); // Item unter dem Cursor
if (ndx <> -1) then
ShowMessage(Listbox1.Items[ndx])
end;
Das müsste das sein was du willst.
Wobei dämlich ist, da an diese Stelle ne SHowmessage auszuführen, aber das kannst du ja ändern, was auch immer du da hinwillst.
EDIT: da war ich wohl zu langsam, ich lasse das hier aber trotzdem mal stehen