effect = new NoDragUnderEffect(control);
effect = new NoDragAndDropEffect(control);
public DropTarget(Control control, int style) {	super (control, checkStyle(style));	this.control = control;	if (control.getData(DROPTARGETID) != null) {		DND.error(DND.ERROR_CANNOT_INIT_DROP);	}	control.setData(DROPTARGETID, this);	createCOMInterfaces();	this.AddRef();		if (COM.CoLockObjectExternal(iDropTarget.getAddress(), true, true) != COM.S_OK)		DND.error(DND.ERROR_CANNOT_INIT_DROP);	if (COM.RegisterDragDrop( control.handle, iDropTarget.getAddress()) != COM.S_OK)		DND.error(DND.ERROR_CANNOT_INIT_DROP);	controlListener = new Listener () {		public void handleEvent (Event event) {			if (!DropTarget.this.isDisposed()){				DropTarget.this.dispose();			}		}	};	control.addListener (SWT.Dispose, controlListener);		this.addListener(SWT.Dispose, new Listener () {		public void handleEvent (Event event) {			onDispose();		}	});	// Drag under effect	if (control instanceof Tree) {		effect = new TreeDragUnderEffect((Tree)control);	} else if (control instanceof Table) {		effect = new TableDragUnderEffect((Table)control);	} else {		effect = new NoDragUnderEffect(control);	}}