Zitat von
GJungbuth:
Ein Treeview ist ein WinControl und hat somit ein eigenes Window-
Handle.
Mit dem Beispielcode von oben kannst du so zwar auf dem Formular droppen, aber nicht auf dem TreeView.
Deshalb:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
OleInitialize(
nil);
{Allow window to accept drop events}
OleCheck(RegisterDragDrop(
Handle, Self));
// Handle des TreeView registrieren
OleCheck(RegisterDragDrop(TreeView1.Handle, Self));
end;
Aber Obacht!! Zum Zeitpunkt von OnCreate gibt es das
Handle des TreeView evtl. noch nicht.
Dann müsste RegisterDragDrop später in OnShow (oder noch später) ausgeführt werden.
RevokeDragDrop muss auch aufgerufen werden - is klar.