Ok, very strange I have 2 list views that are trying to do the drag and drop, i also have a RichEditCtrl and in its create method it calls its SetReadOnly(TRUE); method. which makes RegisterDragDrop fail. So i put the readonly bit in the RichEdit.create(..., ES_READONLY) bit but that makes RegisterDragDrop fail. I think this is very weird, the RichEdit.create method gets called before the to listview get created, i'll try swaping them but, still this shouldn't be happening. any ideas? Luke.